基础巩固--编写一个完美的equals方法
来源:互联网 发布:机械革命 知乎 编辑:程序博客网 时间:2024/05/21 06:47
显示的参数命名为otherObject。
1,检测this与otherObject是否引用同一个对象:
if(this == otherObject) return true;
2,检测otherObject是否为null:
if(otherObject == null) return false;
3,比较this与otherObject是否属于一个类。
如果equals的语义在每个子类中有所改变,就使用getClass检测:
if(this.getClass() != otherObject.getClass()) return false;
如果所有的子类都拥有统一的语义,就使用instanceof检测:
if(!(otherObject instanceof ClassName)) return false;
4,将otherObject转换为相应的类类型变量:
ClassName other = (ClassName) otherObject;
5,对所有需要比较的域进行比较。使用==比较基本数据类型,使用Objects.equals比较对象域:
return this.field1 == other.field1 && Objects.equals(this.field2, other.field2) && ...;
//java.util.Arraysstatic Boolean equlas(type[] a, type[] b)/*如果两个数组长度相同,并且在对应的位置上数据元素也均相同,将返回true。*///java.util.Objectsstatic boolean equals(Object a, Object b)/*如果a和b都为null,返回true;如果只有其中之一为null,则返回false;否则返回a.equals(b)*/
阅读全文
0 0
- 基础巩固--编写一个完美的equals方法
- java编写一个完美的equals方法
- Java 编写一个完美的equals()方法的建议
- 编写一个完美的equals方法的建议
- Java实践(四)---编写一个完美的equals方法
- Java中编写一个完美的equals方法
- 如何编写完美的 equals 方法
- 在Java中编写完美的equals方法
- 完美编写java中equals方法的建议
- java基础巩固系列(六):java中equals()方法与==的比较
- java中写一个完美equals方法的建议
- 重写完美Equals的方法
- 为类编写完美的Equals()
- Rhyme/Java getClass()与instanceof的区别以及如何编写一个完美的equals()
- 完美的equals方法的建议
- 基础巩固--方法参数
- 基础巩固--hashCode方法
- 一个合格的equals方法
- [算法分析与设计] leetcode 每周一题:Longest Substring Without Repeating Characters
- 【OpenCV】目标检测
- Eclipse中添加文档注释快捷键
- Java基础面试题(二)
- 在北京,年薪300000+的产品经理长啥样?
- 基础巩固--编写一个完美的equals方法
- 【C++】虚函数原理
- 2017 沈阳区域赛部分题解
- 多线程基础02
- Python3.6.1下载与安装
- CentOS6设置静态IP
- APS.NET微信分享自定义标题描述与图片
- HP EliteBook 开启虚拟化
- SecureCRT7一些常用设置