我有一個追加String的情況。而且我很困惑..在Java中添加字符串困惑
public static void foo() {
String s = "str4";
String s1 = "str" + s.length();
System.out.println("(s==s1) = " + (s1 == s));
}
和
public static void bar() {
String s = "str4";
String s1 = "str" + "4";
System.out.println("(s==s1) = " + (s1 == s));
}
在第一種情況下,正如我在這兩種情況下「STR4」對象瞭解正在被它的返回「假」,但在第二種情況「真正的」 在堆上創建。所以它在兩種情況下都應該返回true。但事實並非如此。 請別人幫我解釋爲什麼這樣。 ?謝謝。!
檢查... http://stackoverflow.com/questions/3801343/what-is-string-pool-in-java – 2013-03-21 06:49:54