注:JDK1.8
String str1 = "首次";
String str2 = "首次";
System.out.println(String.format("str1 == str2 ? %s", str2 == str1));
String str3 = new StringBuilder("首次").toString();
String str4 = str3.intern();
System.out.println(String.format("str4 == str3 ? %s", str4 == str3));
String str5 = str4 + new StringBuilder("出现").toString();
String str6= str5.intern();
System.out.println(String.format("str6 == str5 ? %s", str6 == str5));
执行结果:
str1 == str2 ? true
str4 == str3 ? false
str6 == str5 ? true
深入解析String#intern 参考链接



