我有一个追加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