java完美equals方法代码段
2015-12-23 18:24
405 查看
public boolean equals(Object otherObject) { if(this == otherObject) { // 检測this与otherObject是否引用同一个对象 return true; } if(null == otherObject ) { // 检測otherObject是否为空 return false; } if(!(getClass() == otherObject.getClass())){ // 比較this与oherObject是否属于同一个类,假设equal的语义在每一个子类中有所改变,就用此推断 System.out.println("-----------------getClass----------------"); return false; } if( ! (otherObject instanceof Apple)) { // 假设语义同样就用instanceof推断,推断继承时也用到 System.out.println("------------instanceof--------------------"); return false; } Apple other = (Apple) otherObject; // 转换为对应类型。对所需域进行推断 return name.equals(other.name)&& color.equals(other.color); } }
相关文章推荐
- 使用Maven新建Java Web项目(八)
- Spring 注释实现任务调度
- Spring in Action读书笔记 (二)
- 1.01 【基础知识之基础类型】 java实现中文汉字的首字母排序
- JAVA集合类练习
- JAVA语言 关键字
- 了解Spring @Around使用及注意
- myeclipse颜色设置问题
- java中23种常用设计模式
- java version
- Java 类加载器
- java 运行堆内存分析
- Spring知识点
- Java synchronized详解
- Java笔记 第四章 (4)Java面向对象编程基础 (实战练习)
- springmvc实现网站限流
- Java笔记 第四章(3) Java面向对象编程基础 第三部分(对象概述)
- 【转载】eclipse常用插件在线安装地址或下载地址
- ACM中的java
- java如何高效打印一个二维数组(不用递归,不用两个for循环)