- 作用: 当此方法被调用时, 如果在运行时常量池中已经有与之相等的String, 则返回该字符串, 如果没有, 则将这个字符串对象添加到池中, 然后返回这个对象的引用
- 举个例子
输出结果:public class StringEqualTest { public static void main(String[] args) { String a = "test"; String b = new String("test"); System.out.println(a == b); String c = b.intern(); System.out.println(a == c); } }
在false true
b.intern()
没有运行之前, a与b是不相等的, 因为它们引用的不同的对象(详情见我的另一篇文章). 但当b.intern()
运行后,a == c
的结果是true
, 也就是a与c引用了同一个对象, 这印证了上面的说法
网友评论