Java字符串常量池
在爪哇Java字符串常量池,java,string,Java,String,在爪哇 String s1 = new String("abc"); String s2 = new String("ab") + new String("cd"); 字符串“abc”和“abcd”是否会在字符串常量池中创建?无论是s1还是s2都不会指向常量池中的字符串,因为它们是通过显式构造函数调用和串联组合创建的。常量池中只有字符串文字“abc”、“ab”和“cd” 您需要显式地intern()新实例。在这种情况下,s1==“abc”将变为真。s2.intern();字符串s3=“abc
String s1 = new String("abc");
String s2 = new String("ab") + new String("cd");
字符串“abc”和“abcd”是否会在字符串常量池中创建?无论是
s1
还是s2
都不会指向常量池中的字符串,因为它们是通过显式构造函数调用和串联组合创建的。常量池中只有字符串文字“abc”、“ab”和“cd”
您需要显式地
intern()
新实例。在这种情况下,s1==“abc”
将变为真。s2.intern();字符串s3=“abcd”;为什么s2==s3在jdk1.7中是真的?在任何JDK中都应该是真的,因为s2和s3应该在常量池中看到相同的实例。非常感谢,我终于理解了。