每一天的每一分每一秒都不晚!       2021年3月16日 23:18:07       

桐君过客

大三

Java equals方法学习

  • 通过某个特征值来判断两个对象是否“等价”,当这两个对象等价时,判断结果为true,否则结果为false。
  • Object类(Java的“对象世界”的根)中实现的equals方法,就是把“特征值”设定为“对象引用”来进行判断等价性的,因此可以得知,Object类中equals方法只是简简单单地返回this引用和被判断的obj的引用的“==运算”的值。
  • 重写equals方法常规步
    //方法1
    public
    boolean equals(Object o) { if (this == o) return true; if (o == null || !(o instanceof Person)) return false; Student student = (Student) o; //强转是因为o暂时的编译时类型还是object类型,不然编译不通过。 return ID == student.ID;
    }

    //方法2
  •  其中用到的有getClass()方法和instanceof    后者会考虑是否是该类父类的实例,前者只考虑类的名称是否相同。

 

参考:

1.

Java的equals方法实现及其细节

2.

getClass()和instanceof以及类的equals方法

3.廖雪峰-Java-多态

posted @ 2020-12-22 23:53  桐君过客  阅读(103)  评论(0编辑  收藏  举报