Java String.inern()

在java1.7以后,调用intern()方法不再在常量池中寻找相等常量,若寻找不到则创建。

intern()会在常量池中记录其首次出现实例的引用。。。

String str1 = new StringBuffer().append("科学").toString();
System.out.println(str1 == str1.intern()); //false

String str1 = new StringBuffer("计算机").toString();
System.out.println(str1 == str1.intern());// false

String str1 = new StringBuffer("计算机").append("科学").toString();
System.out.println(str1 == str1.intern()); //true

推荐阅读更多精彩内容