public class A {
static String s1 = "I am A";
public static void main(String[] args) {
String s2 = "I am A";
System.out.println(s1 == s2);
}
}
以上程序输出“真”。两者都是两个不同的标识符/对象,输出如何为“真”?
我的理解是 JVM 会为每个对象创建不同的引用,如果是这样,输出如何为真?
最佳答案
Java 管理一个String
文字池。它尽可能重用这些文字。因此这两个对象实际上是相同的 String
对象并且 ==
返回 true。
我相信这叫做 string interning
关于java - Java 基础问题 : String equality,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1896145/