Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java字符串常量池_Java_String - Fatal编程技术网

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应该在常量池中看到相同的实例。非常感谢,我终于理解了。