一:编写一个完美的equals方法的建议:
1.显示参数命名为otherObject,稍后需要对它转换成另一个叫做other的变量。
2.检测this与otherObject是否引用同一个对象。
if(this==otherObject) return true;
3.检测otherObject是否为null, 如果为null,返回false.这项检测是很必要的。
if(otherObject==null) return false;
比较this与otherObject是否属于同一个类,如果equalsd的语义在每个子类中又所改变,就使用getClass检测:
if(getClass()!=otherObject.getClass()) return false;
如果所有的子类都拥有统一的语义,就使用instanceof检测:
if(!(otherObject instanceof ClassName)) return false;
4.将otherObject转换为相应的类类型变量:
ClassName other=(ClassName)otherObject
5.现在开始对所有需要比较的域进行比较了。使用==比较基本类型域,使用equals比较对象域。如果所有的域都匹配,就返回true;否则就返回false.
return field1==other.field1&&field2.equals(other.field2)&&.....
如果在子类中重新定义equals,就要在其中包含调用super.equals(other).
分享到:
相关推荐
从标题“java核心思想读书笔记”和描述可以看出,这份资料是作者结合《Java核心思想》一书和其他网络资源整理而成,适合不同水平的Java学习者,特别是初学者和有经验的工程师。 1. **Java的设计目标** - 不同于...
【标题】"java读书笔记笔记笔记笔记笔记笔记" 暗示了这是一份关于Java编程语言的学习笔记,可能包含了作者在阅读Java相关书籍时所做的重要记录和理解。笔记通常涵盖了语言的基础概念、核心特性、类与对象、内存管理...
从《Java 2 核心技术 卷 1:基础知识》的读书笔记中,我们可以提取出以下几个关键知识点: 1. **强类型语言**:Java要求所有变量在使用前必须声明其类型,这确保了程序的稳定性和类型安全。每个程序都必须包含至少...
通过阅读《Java游戏编程读书笔记》这本书,你可以深入了解这些概念并学习如何将它们应用到实际项目中。文档中的内容可能涵盖了Java游戏开发的基本原理、代码示例、最佳实践以及常见问题的解决方案。通过深入学习和...
java虚拟机读书笔记,主要描述阅读Java虚拟机核心技术的描述。
读书笔记:Java基础《写给大忙人看的Java核心技术》阅读笔记
通过阅读《王者归来之Thinking in Java读书笔记》,你可以系统地掌握Java编程的核心知识,理解编程思想,提高解决问题的能力。无论是初学者还是经验丰富的开发者,都能从中受益匪浅。这本书不仅提供了理论知识,还有...
读书笔记:Java核心技术卷I 基础知识
读书笔记:Java核心技术 卷I基础知识
读书笔记:Java核心技术卷I基础知识
数据结构与算法分析是...这篇读书笔记不仅涵盖了理论知识,还结合Java语言特点进行了深入的探讨,对学习者来说是一份宝贵的资源。通过阅读和实践,开发者可以更好地理解和运用数据结构与算法,提升自己的编程技能。
读书笔记:Java 核心技术 卷I 基础知识 第十版
读书笔记:Java核心技术卷I 基础知识第10版代码
读书笔记:Java核心技术 卷II 高级特性原书第10版
读书笔记:Java 核心技术; 深入理解Java虚拟机JVM高级特性与最佳实践第二版
《Java完美经典》读书笔记是Java开发者不可或缺的学习资源,它涵盖了Java编程的各个方面,旨在帮助读者深入理解Java语言,提升编程技巧。以下是对该书笔记的一些核心知识点的详细阐述: 1. **Java基础** - **变量...
### Thinking in Java 读书笔记知识点总结 #### 一、万事万物皆对象 1. **对象存储位置** - **寄存器**:程序无法直接控制。 - **栈(Stack)**:存储基本类型数据和对象引用,但对象本身不在此处。 - **堆(Heap)...
《Java编程思想》是 Bruce Eckel 的经典著作,这本书深入浅出地讲解了Java语言的核心概念和编程技术。这份读书笔记记录了读者在研读此书过程中的理解和体会,涵盖了从基础语法到高级特性的全面解析。以下是笔记中...
本资源为《Java高手真经:Java Web高级开发技术》读书笔记模板,涵盖了Java EE开发中的各种分布式与业务核心技术。该资源分为三部分,分别是Java高手真经(高级编程卷):Java Web高级开发技术读书笔记模板、Java ...
《Java编程思想读书笔记》 Java是一门面向对象的编程语言,它的核心理念是“万事万物皆对象”。在Java中,所有的对象都是通过类(Class)来定义的,并且必须由程序员显式创建。理解对象的存储位置是理解Java内存...