我知道 String.intern() 将字符串添加到池中,如果它不包含对象,但如何解释结果。
下面的代码:
public static void main(String[] args) {
char[] abc = new char[]{'a','b','c'};
String str = new String(abc);
System.out.println(str == "abc");
str.intern();
System.out.println(str == "abc");
}
Run Code Online (Sandbox Code Playgroud)
输出是:
错误的
错误的
但是当代码如下:
public static void main(String[] args) {
char[] abc = new char[]{'a','b','c'};
String str = new String(abc);
str.intern();
System.out.println(str == "abc");
}
Run Code Online (Sandbox Code Playgroud)
输出是:
真的
有什么不同。