メソッドintern()は、ヒープメモリに String オブジェクトの正確なコピーを作成し、それをString定数プールに格納します。

同じ内容の別のStringString定数プールに存在する場合、新しいオブジェクトは作成されず、新しい参照は他のを指すことに注意してください。文字列。

利用可能な署名

public String intern()

@Test
public void whenIntern_thenCorrect() {
    String s1 = "abc";
    String s2 = new String("abc");
    String s3 = new String("foo");
    String s4 = s1.intern();
    String s5 = s2.intern();
    
    assertFalse(s3 == s4);
    assertTrue(s1 == s5);
}