Java equals方法学习
2024-09-02 20:43:56
- 通过某个特征值来判断两个对象是否“等价”,当这两个对象等价时,判断结果为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方法
最新文章
- java基础算法之插入排序
- HashSet<;T>;类 用法
- JavaScript实现li隔行变色
- ajax 使用
- Navicat
- Introduction To Monte Carlo Methods
- js 图片无缝循环
- Char型和string型字符串比较整理
- 【转】深入理解javascript原型和闭包(完结)
- [转]使用awk批量杀进程的命令
- 多校#5-1005-Instring-HDU5785-manacher+维护
- Generalizations
- PHP中路径的相关配置
- 三篇文章了解 TiDB 技术内幕——说存储
- 【BZOJ3110】【Zjoi2013】K大数查询 - 2
- poj1976
- 整理了一下 ThinkPHP 历史
- native方法
- python查找文件相同的和包含汉字的
- scala学习手记16 &ndash; scala中的static
热门文章
- moviepy音视频剪辑:使用fl_time报错OSError: MoviePy error: failed to read the first frame of video file
- moviepy用VideoFileClip加载视频时报UnicodeDecodeError: codec cant decode ,No mapping character 错误
- PyQt(Python+Qt)学习随笔: QDoubleSpinBox浮点数字设定部件简介
- 第15.1节 PyCharm安装及使用
- PostMan设置环境变量&;全局变量
- 模拟数组 push() 方法
- 什么是VIP?什么是IP漂移?
- 2020中国.NET开发者峰会主题内容发布
- 学习笔记:舞蹈链 Dancing Links
- 题解 CF830D Singer House