Re: [問題] string判定相等

看板java作者 (峰)時間15年前 (2010/06/12 16:27), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串3/5 (看更多)
※ 引述《travellu (旅行)》之銘言: : ※ 引述《thnestar (峰)》之銘言: : : 接著使用 if(s3[0] == s4) : ^^^^^^^^^^^^^^^^ : 改成if(s3[0].equals(s4)) : == 和 .equals 用法是不一樣的 : 一個會比較到變數在記憶體中的位址 : 一個只會比較變數的內容 : : 結果會是false。 : : 也就是程式內已經設定,s3的內容是"HI", : : 然後使用者也輸入HI給s4, : : 但是為什麼兩者會不相等呢? 所以以這種情況來看, 用equals是比較內容,而==是比較位置, 那為什麼我用 String s1 = "HI"; String s2 = "HI"; 的時候,s1==s2是true呢? 兩者應該是不同位置才對。 還是說因為s3是個String的陣列, 所以跟s1、s2的情況不太一樣呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.120.222.132

06/12 16:39, , 1F
Java為節省記憶體,同一class內使用同一字串只會建立一次
06/12 16:39, 1F

06/12 17:03, , 2F
感謝tr大
06/12 17:03, 2F
文章代碼(AID): #1C4qK8iK (java)
討論串 (同標題文章)
文章代碼(AID): #1C4qK8iK (java)