作者ntwu (CEO)
看板java
标题[问题] 判断式错误
时间Tue Jul 1 06:35:48 2014
求救我的判断式,有高手能给些意见吗
我有一个return ip位址的函式,ip是存在资料库的里的
当印出来return的ip是123.456.789 那他的port我给8885
可是印出来port却是8887,详见如下片段程式
执行出来的错误讯息就是因为port错误的关系所以联系不上
我有试着在Socket skt = new Socket(serverIP, ports)把ip port写死
写死是可以正常运错的!
本来我想说用switch但是我目前使用得环境是se6所以switch的case不能使用字串...
如果我要从新安装se7这样有很多环境要重新设定....
public class tt extends TimerTask{
static int ports;
static String serverIP;
public void run{
getServer getIP=new getServer();
serverIP=getIP.getServerIP();
//将会return 123.456.789 or 234.567.890 or 345.678.901 ip
if(serverIP=="123.456.789")
{ports=8885;}
else if (serverIP=="234.567.890")
{ports=8886;}
else{ports=8887;}
System.out.println("now ip:"+serverIP+",port:"+ports);
//此时印出来ip是123.456.789 port是8887 !!!
.......
try{
/*
if(serverIP=="123.456.789")
{ports=8885;}
else if (serverIP=="234.567.890")
{ports=8886;}
else{ports=8887;}
System.out.println("now ip:"+serverIP+",port:"+ports);
//此时印出来ip是123.456.789 port也是8887!!!
*/
.......
Socket skt = new Socket(serverIP, ports);
.......
}
......
}
.............
}
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 123.193.192.152
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/java/M.1404167751.A.BAD.html
1F:推 s06yji3:个人经验是先确定serverIP有没有东西,再来资料type是不是 07/01 07:17
2F:→ s06yji3:String 07/01 07:17
3F:推 s06yji3:因为看起来判定都是false 07/01 07:19
4F:推 qrtt1:物件相等性不是用 == 做的啊.... 07/01 07:54
5F:→ ntwu:我印出来确定ip有东西,只是port号没有根据我的if else所判断 07/01 08:31
6F:→ ntwu:的方式去指定port号 07/01 08:32
7F:推 LPH66:问题就是四楼所讲的...比较字串相等要用 .equals 07/01 08:51
8F:→ ntwu:用equals解决了 感谢 07/01 10:17
9F:推 Killercat:附带一题 这block缩排最好改一下 这写法太恐怖了 07/01 15:12
10F:推 NullLife:物件命名通常会用大写开头... 07/02 00:31
11F:→ NullLife:然後建议原PO去搞懂 == 跟 .equals 差别在哪 07/02 00:31
12F:→ NullLife:这是JAVA很基本的观念 07/02 00:33
13F:→ DeathWatch:基础先搞懂... 07/02 14:47
14F:推 Killercat:其实我猜原po是写python出身的..... 07/02 17:57
15F:推 s06yji3:受教了!刚接触JAVA竟然也没注意到! 07/03 07:29