【发布时间】:2021-04-10 23:25:07
【问题描述】:
我知道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");
}
输出是:
假
假
但是当代码如下:
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");
}
输出是:
是的
有什么区别。
【问题讨论】:
标签: java string jvm intern string-constant