Java "==" equals不一定就是比较内容

来源:互联网 发布:开源三网合一源码下载 编辑:程序博客网 时间:2024/06/13 04:33
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:falsen1.equals(n2):truev1==v2:falsev1.equals(v2):false
由此可以发现equals默认比较的是引用 自己的新类需要重写equals方法 大多数java库重写了equals方法来比较内容而不是引用
1 0
原创粉丝点击