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方法来比较内容而不是引用
本文通过示例代码展示了Java中equals方法的工作原理。演示了不同情况下使用equals与==的区别,并强调了自定义类需要正确重写equals方法的重要性。
1429

被折叠的 条评论
为什么被折叠?



