public class EqualsMethod { public static void main(String[] args){ Integer n1=new Integer(47); Integer n2=new Integer(47); System.out.println("n1==n2:"+(n1==n2)); System.out.println("n1.equals(n2):"+(n1.equals(n2))); Value v1=new Value(); Value v2=new Value(); v1.i=v2.i=100; System.out.println("v1==v2:"+(v1==v2)); System.out.println("v1.equals(v2):"+(v1.equals(v2))); } } class Value { int i; }
n1==n2:false n1.equals(n2):true v1==v2:false v1.equals(v2):false
由此可以发现equals默认比较的是引用 自己的新类需要重写equals方法 大多数java库重写了equals方法来比较内容而不是引用