楼主:
ntwu (CEO)
2014-07-01 06:35:48求救我的判断式,有高手能给些意见吗
我有一个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);
.......
}
......
}
.............
}
作者: s06yji3 (阿南) 2014-07-01 07:17:00
个人经验是先确定serverIP有没有东西,再来资料type是不是String因为看起来判定都是false
作者:
qrtt1 (有些事,有时候。。。)
2014-07-01 07:54:00物件相等性不是用 == 做的啊....
楼主:
ntwu (CEO)
2014-07-01 08:31:00我印出来确定ip有东西,只是port号没有根据我的if else所判断的方式去指定port号
作者:
LPH66 (-6.2598534e+18f)
2014-07-01 08:51:00问题就是四楼所讲的...比较字串相等要用 .equals
楼主:
ntwu (CEO)
2014-07-01 10:17:00用equals解决了 感谢
附带一题 这block缩排最好改一下 这写法太恐怖了
作者:
NullLife (废材大叔有点累)
2014-07-02 00:31:00物件命名通常会用大写开头...然后建议原PO去搞懂 == 跟 .equals 差别在哪这是JAVA很基本的观念
作者: s06yji3 (阿南) 2014-07-03 07:29:00
受教了!刚接触JAVA竟然也没注意到!