オブジェクトが含まれていない場合、 String.intern() がプールに文字列を追加することは知っていますが、結果を説明する方法。
以下のコード:
public static void main(String[] args) {
char[] abc = new char[]{'a','b','c'};
String str = new String(abc);
System.out.println(str == "abc");
str.intern();
System.out.println(str == "abc");
}
出力は次のとおりです。
間違い
間違い
ただし、次のようなコードの場合:
public static void main(String[] args) {
char[] abc = new char[]{'a','b','c'};
String str = new String(abc);
str.intern();
System.out.println(str == "abc");
}
出力は次のとおりです。
真実
違いは何ですか。