Re: [問題] 關於 "字串 ==" 的用法
※ 引述《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)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 4 篇):