多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
### JAVA语言规范-equals方法特性 * equals ``` public boolean equals(Object obj) { return (this == obj); } ``` equals 方法在非空对象引用上实现相等关系: 1. 自反性:对于任何非空引用值 x,x.equals\(x\) 都应返回 true。 2. 对称性:对于任何非空引用值 x 和 y,当且仅当 y.equals\(x\) 返回 true 时,x.equals\(y\) 才应返回 true。 3. 传递性:对于任何非空引用值 x、y 和 z,如果 x.equals\(y\) 返回 true,并且 y.equals\(z\) 返回 true,那么 x.equals\(z\) 应返回 true。 4. 一致性:对于任何非空引用值 x 和 y,多次调用 x.equals\(y\) 始终返回 true 或始终返回 false,前提是对象上 equals 比较中所用的信息没有被修改。 5. 对于任何非空引用值 x,x.equals\(null\) 都应返回 false; 6. 注意:hashcode值不等于内存地址; > 如果一个类没有重写equals方法,并且对应的类及其父类列表中都没有重写过equals方法,那么默认的equals\(\)操作对比的就是对象的地址\(或hashCode\); ### ### equals方法建议 ![](https://img.kancloud.cn/c6/d5/c6d55cf64464919956eff497e1bba0c7_805x588.png)