java完美equals方法代码段
2023-09-11 14:21:00 时间
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); } }
相关文章
- 利用Xposed Hook打印Java函数调用堆栈信息的几种方法
- Java中AtomicInteger的使用!!!
- Java日期计算常用方法《详细版》
- Java IO: Reader和Writer
- java Collections.sort()实现List排序自定义方法
- java什么是方法的重载(Overload)
- Java学习-050-AES256 之 java.security.InvalidKeyException: Illegal key size or default parameters 解决方法
- 在Eclipse中运行Jboss时出现java.lang.OutOfMemoryError:PermGen space及其解决方法
- 正确使用MySQL JDBC setFetchSize()方法解决JDBC处理大结果集 java.lang.OutOfMemoryError: Java heap space
- java 新创建的类要重写的方法
- JAVA学习.java.sql.date 与java.util.date以及gettime()方法的分析
- 【JAVA】Lambda接口&函数级接口
- JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)
- java定时器的使用(Timer)
- java的System.getProperty()方法能够获取的值
- Java定位CPU使用高问题--转载
- 【JAVA】浅谈java枚举类
- Java中字符串中子串的查找共有四种方法(indexof())
- java泛型(泛型接口、泛型类、泛型方法)
- List集合常用方法java与c#