首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【Java】重写equals方法

【Java】重写equals方法

作者头像
CODER-V
发布2023-03-04 13:44:28
发布2023-03-04 13:44:28
1.1K0
举报
文章被收录于专栏:藏经阁藏经阁

思路

  1. 判断实参对象和当前对象地址释放相同,若相同则是同一个对象
  2. 判断实参对象是否,当前对象所在类,或子类,
  3. 若是则强转,声明比较规则
  4. 比较属性是否相同

实现

代码语言:javascript
复制
@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) ...
	}
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-03-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 思路
  • 实现
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档