私は次のテストを行っています:
public class EqualityTest
{
String one = new String("Hello world");
String two = new String("Hello ") + new String("world");
@Test
public void testStringPool()
{
assertFalse(one == two); // FALSE!!!
assertTrue(one.equals(two));
assertTrue(one.intern().equals(two.intern()));
}
}
Javaの文字列プールの性質により、VMはプール内の同じ文字列を指す1つと2つを割り当てると予想していました。この場合、なぜ私の理解が間違っているのですか?