Re: [問題] 關於JAVA String的問題

看板java作者 (就是要戰腦殘保險業務)時間16年前 (2008/05/26 01:33), 編輯推噓4(401)
留言5則, 3人參與, 最新討論串2/2 (看更多)
※ 引述《iamamanguy (酷~!!)》之銘言: : 想請問一下各位 : 我這樣寫: : String str = "Good"; : if(str.substring(0,3) == "Goo"){ : ..... : } : 這樣看來這個if判斷是應該會進去吧? : 但是卻沒有!! : 於是我又試了: : if(str.substring(0,3) == str.substring(0,3)){ : ..... : } : 結果連這樣也進不去... : 已經DE好久了... : 不知道是哪裡觀念有問題?> < if(str.substring(0,3).equals("Goo"))即可.... 所以下面這一行的判斷式必須改成: if(str.substring(0,3).equals(str.substring(0,3))) 加油! -- 天堂保險公司 PTT通訊處 半調子保險顧問 Harifucks E-mail: harifucks@ptt.cc -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.31.134.205

05/26 05:28, , 1F
是 0 到 2 你的equals 不是關鍵吧
05/26 05:28, 1F

05/26 08:49, , 2F
substring(index,index2) index2裡的實際位子是index2-1
05/26 08:49, 2F

05/26 08:52, , 3F
所以substring(0,3)是Goo沒錯,如果不使用equal判斷會因為
05/26 08:52, 3F

05/26 08:54, , 4F
str.substring(0,3)與"Goo"記憶體位置不同而判斷為不相等
05/26 08:54, 4F

05/27 00:42, , 5F
c#就可這麼作了
05/27 00:42, 5F
文章代碼(AID): #18EQBtqY (java)
文章代碼(AID): #18EQBtqY (java)