這是關於字符串的一個非常基本的問題。有關字符串的基本查詢
String str1 = "abc";
String str2 = "abc";
System.out.println("out put " + str1 == str2);
當我執行程序時,我感到震驚。我得到了false
。
據我,字符串文字字符串引用之間,如果另一個字符串要指向同一個字符串字面共享。 JVM將首先在String池中檢查它,如果它不存在,那麼它將創建一個並給出引用,否則它將在多個String引用之間共享,就像在這種情況下(根據我)。
所以,如果我用我的理論去那麼它應該已經返回true
同時作爲字符串參考點,以相同的字符串文字。
@broncoAbierto這不是同一個問題。 OP似乎很好地理解了引用比較,並且打算測試常量字符串interning。這個問題是運營商的優先。 – kiheru 2014-09-13 09:24:40
@kiheru你說得對。我收回我的評論。 – broncoAbierto 2014-09-13 09:28:36