public class Example
{
public static void main(String[] args)
{
Example e1=new Example();
Example e2=new Example();
System.out.println(e1.equals(e2));
System.out.println(e1==e2);
}
}
这个时候会返回两个 False
public class Example1
{
public static void main(String[] args)
{
String s1=new String("abc");
String s2=new String("abc");
System.out.println(s1==s2);//false
System.out.println(s1.equals(s2));//true
}
}
这个时候会返回一个 False 一个 True
为何会产生上述结果:
这是由于
Object 中的 equals(Object)方法其标准形式为
public boolean equals(Object obj),是使用"=="比较两个对象的,所以如果不覆盖equals方法
==和 equals()一样是比较引用的。