下面这段代码,结果不同是因为java已经存在字符串常量池中。
String str1 = new StringBuilder("hel").append("lo").toString();
System.out.println( str1.intern() == str1); // true
String str2 = new StringBuilder("ja").append("va").toString();
System.out.println(str2.intern() == str2); // false
我有以下疑问:
1.String str1 = new StringBuilder("hel").append("lo").toString();创建了几个对象
2.str1指向的是常量池中的对象吗?str1.intern()为什么等于str1?