【Java】重写equals方法
2023-06-13 09:15:29 时间
思路
- 判断实参对象和当前对象地址释放相同,若相同则是同一个对象
- 判断实参对象是否,当前对象所在类,或子类,
- 若是则强转,声明比较规则
- 比较属性是否相同
实现
@Override
public boolean equals(Object obj){
//1.判断地址是否相同
if(this == obj){
// 若地址相同,则是同一个对象,即两对象相等
return true;
}
//2.判断是否所在类相同
if(obj instanceof Xxx){
//3.强转
Xxx p = (Xxx)obj;
//4.比较属性是否相同,基本数据类型用“==”,引用数据类型用equals()比较
if(this,xxx == p.xx && this,xxx == p.xx.equals(p.xxx) ...){
// 若属性相同,则是同一个对象
return true;
}else{
// 否则不是同一个对象
return false;
}
//4. 或者
//return this,xxx == p.xx && this,xxx == p.xx.equals(p.xxx) ...
}
}
相关文章
- java 四舍五入运算_JAVA正确的四舍五入方法「建议收藏」
- 一起学JAVA API Object String StringBuffer/StringBuilder
- java判断一个对象是否为空_Java中判断对象是否为空的方法的详解
- java常量有哪些_JAVA常量介绍「建议收藏」
- MySQL字段类型如何转为java_Java JDBC中,MySQL字段类型到JAVA类型的转换
- Java后台接收参数出现java.lang.Integer cannot be cast to java.lang.Double错误(已解决)[通俗易懂]
- java中random方法取值范围_Java Random.nextInt()方法,随机产生某个范围内的整数
- java dom4j生成xml格式化_Java DOM4J方式生成XML的方法「建议收藏」
- java常量池在方法区还是堆_JAVA常量池
- 下列那个类有获取PropertyDescriptor实例的方法_java反射怎么理解
- Java方法重载_java入门方法的使用
- Java 中如何限制方法的返回时间
- java JNI: C 语言调用 Java 方法示例详解编程语言
- 构建Java应用程序中Redis集群的方法(java连redis集群)
- 语句Java自动生成Oracle数据库查询语句(java生成oracle)
- Java更新提升Oracle软件性能(java更新oracle)
- Java替换字符串中的回车换行符的方法
- Java生成随机数的2种示例方法代码
- Java设计模式之模版方法模式简介