Object类--equals方法

来源:互联网 发布:系统优化软件 编辑:程序博客网 时间:2024/05/30 20:08

equals方法

1、比较的是对象引用的是否指向同一块内存地址

    public static void main(String[] args) {        HuaWei huawei=new HuaWei();        huawei.cpu=1;                   HuaWei huawei1=new HuaWei();        huawei.cpu=1;        if(huawei.equals(huawei1)){            System.out.println("两个对象是相同的!");        }else{            System.out.println("两个对象是不相同的!");        }    }

结果:

两个对象是不相同的!

2、作用是比较两者的区别,作用类似于“==”,默认情况下equals比较的是内存地址,而在一般情况我们需要比较的是两个对象的值是否一致,那么如何解决这个问题:当父类方法无法满足我们的需要时,此时就需要重写这个方法。

    public boolean equals(Object obj) {        if (this == obj)    //判断两个引用的地址是否相同            return true;            if (obj == null)    //判断另外一个对象是否是空值            return false;        if (getClass() != obj.getClass())//getClass()是类对象,            return false;        HuaWei other = (HuaWei) obj;        if (cpu != other.cpu)  //两个对象的属性值是否不相同            return false;        if (screen != other.screen)            return false;        if (width != other.width)            return false;        return true;    }
0 0
原创粉丝点击