Re: [問題] 關於 "字串 ==" 的用法

看板java作者 (沉默是金。)時間15年前 (2011/01/20 07:50), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/4 (看更多)
※ 引述《dream1124 (全新開始)》之銘言: : ※ 引述《homal (\冏/)》之銘言: : 請參考這篇 : http://tinyurl.com/4qkf8h6 : 來自良葛格的學習筆記 : http://caterpillar.onlyfun.net/Gossip/JavaGossip-V1/ImmutableString.htm : : 想請教一下, : : String x = "hello"; : : String y = "hello"; : : System.out.println( x==y); : : 電腦輸出 true : : 為何會這樣呢?! : 這是因為JVM內部維護的字串池的緣故 : 宣告 變數y 時,沒有產生第二個 "hello" 物件, : y物件參考到內容為"hello"的字串物件,是來自字串池內已經有的"hello"物件 : 所以用 == 比較是否參考到同一個物件時,會得到 true 但如果這樣寫 就會是 false , 這就是為什麼字串比對的時候一般不建議用 == , 而建議用 equals String x = "hello"; String y = new String("hello"); System.out.println(x==y); //false -- 網頁上拉近距離的幫手 實現 GMail豐富應用的功臣 數也數不清的友善使用者體驗 這就是javascript 歡迎同好到 AJAX 板一同討論。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 72.21.245.243 ※ 編輯: TonyQ 來自: 72.21.245.243 (01/20 07:50)
文章代碼(AID): #1DDtYp2C (java)
文章代碼(AID): #1DDtYp2C (java)