• 通过某个特征值来判断两个对象是否“等价”,当这两个对象等价时,判断结果为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-多态

最新文章

  1. java基础算法之插入排序
  2. HashSet<T>类 用法
  3. JavaScript实现li隔行变色
  4. ajax 使用
  5. Navicat
  6. Introduction To Monte Carlo Methods
  7. js 图片无缝循环
  8. Char型和string型字符串比较整理
  9. 【转】深入理解javascript原型和闭包(完结)
  10. [转]使用awk批量杀进程的命令
  11. 多校#5-1005-Instring-HDU5785-manacher+维护
  12. Generalizations
  13. PHP中路径的相关配置
  14. 三篇文章了解 TiDB 技术内幕——说存储
  15. 【BZOJ3110】【Zjoi2013】K大数查询 - 2
  16. poj1976
  17. 整理了一下 ThinkPHP 历史
  18. native方法
  19. python查找文件相同的和包含汉字的
  20. scala学习手记16 – scala中的static

热门文章

  1. moviepy音视频剪辑:使用fl_time报错OSError: MoviePy error: failed to read the first frame of video file
  2. moviepy用VideoFileClip加载视频时报UnicodeDecodeError: codec cant decode ,No mapping character 错误
  3. PyQt(Python+Qt)学习随笔: QDoubleSpinBox浮点数字设定部件简介
  4. 第15.1节 PyCharm安装及使用
  5. PostMan设置环境变量&全局变量
  6. 模拟数组 push() 方法
  7. 什么是VIP?什么是IP漂移?
  8. 2020中国.NET开发者峰会主题内容发布
  9. 学习笔记:舞蹈链 Dancing Links
  10. 题解 CF830D Singer House