Re: [問題] string判定相等

看板java作者 (旅行)時間15年前 (2010/06/12 16:23), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/5 (看更多)
※ 引述《thnestar (峰)》之銘言: : 我測試過,如果宣告 : String s1 = "HI"; : String s2 = "HI"; : 雖然位置不同,但是內容都是"HI", : 如果使用 if(s1 == s2), : 結果會是true。 : 那我有個疑問。 : 我使用Scanner的next() 函數來讓使用者輸入一個字串, : 然後讓它與先前設定過的string進行比較,但是都一直無法相等。 : 舉例來說, : String[] s3 = new String[1]; : s3[0] = "HI"; : Scanner keyboard = new Scanner(System.in); : String s4 = keyboard.next(); : 然後輸入 HI : 接著使用 if(s3[0] == s4) ^^^^^^^^^^^^^^^^ 改成if(s3[0].equals(s4)) == 和 .equals 用法是不一樣的 一個會比較到變數在記憶體中的位址 一個只會比較變數的內容 : 結果會是false。 : 也就是程式內已經設定,s3的內容是"HI", : 然後使用者也輸入HI給s4, : 但是為什麼兩者會不相等呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.71.170.197
文章代碼(AID): #1C4qG39X (java)
討論串 (同標題文章)
文章代碼(AID): #1C4qG39X (java)