作者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://www.ptt.cc/bbs/java/M.1404167751.A.BAD.html
推 s06yji3:個人經驗是先確定serverIP有沒有東西,再來資料type是不是 07/01 07:17
→ s06yji3:String 07/01 07:17
推 s06yji3:因為看起來判定都是false 07/01 07:19
推 qrtt1:物件相等性不是用 == 做的啊.... 07/01 07:54
→ ntwu:我印出來確定ip有東西,只是port號沒有根據我的if else所判斷 07/01 08:31
→ ntwu:的方式去指定port號 07/01 08:32
推 LPH66:問題就是四樓所講的...比較字串相等要用 .equals 07/01 08:51
→ ntwu:用equals解決了 感謝 07/01 10:17
推 Killercat:附帶一題 這block縮排最好改一下 這寫法太恐怖了 07/01 15:12
推 NullLife:物件命名通常會用大寫開頭... 07/02 00:31
→ NullLife:然後建議原PO去搞懂 == 跟 .equals 差別在哪 07/02 00:31
→ NullLife:這是JAVA很基本的觀念 07/02 00:33
→ DeathWatch:基礎先搞懂... 07/02 14:47
推 Killercat:其實我猜原po是寫python出身的..... 07/02 17:57
推 s06yji3:受教了!剛接觸JAVA竟然也沒注意到! 07/03 07:29