[Java Core]Java类的equals方法的实现
来源:互联网 发布:鬼王漫画网络班 编辑:程序博客网 时间:2024/06/07 08:24
Java对equals方法的要求:
1. 自反性:x.equals(x) == true
2. 对称性:x.equals(y) == y.equals(x)
3. 传递性:
x.equals(y) == true && y.equals(z) == true => x.equals(z) == true
4. 一致性:若x,y均没有发生变化,x.equals(y)的结果不论调用多少次,都不发生变化
5. 非空结果:x.equals(null) == false
依据这几点要求,书中给出了一个完善的比较类的方法:
import java.util.Objects; public class Employee { public String member; public Object obj; public Employee(final String Member, final Object Obj){ member = Member; obj = Obj; } public boolean equals(Object otherObj){ //refer to same object, return true if(this == otherObj) return true; //otherObj is null, return false if(otherObj == null) return false; //belong to different class, return false if(this.getClass() != otherObj.getClass()) return false; //solve the problem of comparison between super obj and child obj if(!(otherObj instanceof Employee)) return false; Employee other = (Employee)otherObj; //in case obj or other.obj is null return Objects.equals(obj, other.obj) && member.equals(other.member); } }
0 0
- [Java Core]Java类的equals方法的实现
- java 的 equals()方法
- java的equals方法
- 实现java String的equals方法
- Java实现equals方法
- 62 Java 重写类的equals()方法
- 重写Java String类的equals()方法
- Java中Object类的equals方法
- Java String类的equals方法源码
- java超类Object的equals()方法
- 深入Java的equals方法
- Java的equals方法使用方法
- 浅析Java的equals方法
- java equals方法的覆盖
- Java String的equals 方法
- JAVA数组的equals方法
- JAVA数组的equals方法
- Java ArrayList的equals方法
- window多线程及同步实现
- 磁盘读写和数据库读写哪个更好?磁盘读写与数据库的关系
- 关于cvx库的license激活问题详解
- iOS开发——改变UITextField的样式:占位符颜色、字符起始位置等
- 毕业俩个月的总结---------------------写给自己
- [Java Core]Java类的equals方法的实现
- ViewPage的使用配合我们的PagerTabStrip
- 1、Android相关SDK快速下载
- AD采样的软件滤波
- 解决adb shell root权限
- JavaScript学习笔记8-jQuery基本选择器深度解析
- drawable文件夹详解
- secureCRT的换行置首问题
- 关于auto_ptr_ref的一点问题