【发布时间】:2015-10-28 19:04:03
【问题描述】:
String a = "abc";
String b = a.substring(1);
b.intern();
String c = "bc";
System.out.println(b == c);
这个问题可能很愚蠢,因为实习生在这里没有主要用途,但我仍然对这个事实感到困惑,为什么b == c 结果true。
什么时候
String b = a.substring(1)
被执行,字符串b引用具有"bc"的对象
b.intern 是否在字符串常量池中创建文字 "bc",即使创建了,b==c 怎么会导致 true?
【问题讨论】:
-
自行查看intern的文档