2

我了解到,当您使用字符串分配值时,它使用字符串池。所以,他们使用相同的地址

String S1 = “Hello World”;
String S2 = “Hello World”;

String S3 = “Hello”;
String S4 = “ World”;

System.out.println(S1 == S2); // Returns true

但是当我尝试执行以下操作时

S3 = S3 + S4;

并用 S1 检查地址...

System.out.println(S1 == S3); // Returns false

为什么它返回false?为什么JDK不使用与S1或S2相同的地址?

谢谢!

4

0 回答 0