我正在运行这个程序。检查字符串池概念。我参考了这个链接 并在java中的Object类中添加了两行equals方法。为什么我得到 objRef1==objRef2 与 objRef1.equals(objeRef2) 的不同输出。在我看来,它们应该是相同的。
public class Abc2 {
public static void main(String[] args) {
String s1 = "Cat";
String s2 = "Cat";
String s3 = new String("Cat");
System.out.println("s1 == s2 :"+(s1==s2));
System.out.println("s1.equals(s2) :"+(s1.equals(s2)));
System.out.println("s1 == s3 :"+(s3==s2));
System.out.println("s1.equals(s3) :"+(s3.equals(s2)));
}
}