在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
网友评论