看板 java 關於我們 聯絡資訊
※ 引述《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
travellu:Java為節省記憶體,同一class內使用同一字串只會建立一次 06/12 16:39
issuemylove:感謝tr大 06/12 17:03