看板 java 關於我們 聯絡資訊
求救我的判斷式,有高手能給些意見嗎 我有一個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