私は次のようなコードを持っています:
String str1 = new StringBuilder("计算机").append("软件").toString();
System.out.println(str1.intern() == str1); //true
String str2 = new StringBuilder("ja").append("va").toString();
System.out.println(str2.intern() == str2); //false
String str3 = new StringBuilder("Str").append("ing").toString();
System.out.println(str3.intern() == str3); //true
なぜstr1.intern() == str1
とstr3.intern() == str3
が正しいかは理解できますが、 はわかりませんstr2.intern() == str2
。なぜこれが間違っているのですか?
私のJavaバージョンは: 1.8.0_73