首页 > 编程语言 > 详细

阶段1 语言基础+高级_1-3-Java语言高级_03-常用API第二部分_第1节 Object类_3_重写Object类的equals方法

时间:2019-07-22 16:38:23      阅读:81      评论:0      收藏:0      [点我收藏+]


现在要重写Object的equlas方法。比较两个对象的属性值。但是存在的问题是多态
技术分享图片

解决方法就是向下转型
技术分享图片


技术分享图片
name和age相同,比较结果是true
技术分享图片

存在的问题,如果参数我传一个ArrayList。它也是Object的子类。那么参数强转为Person的类的话 就会报错。
技术分享图片
ArrayList强转为Person就会报错。

技术分享图片

增加判断,用instanceof判断类型
技术分享图片
这样如果传入的ArrayList那么就直接返回false ,并不会抛出异常。
技术分享图片

传递空值过去。null是引用类型的默认值
技术分享图片
增加if判断,如果是null直接返回false
技术分享图片

如果p1和p1比较
增加一个判断,传递的参数obj 如果是this本身。直接返回true,提高程序的效率
技术分享图片
传自己直接返回true

技术分享图片
 

快捷键添加


技术分享图片



Alt+Insert
技术分享图片
选择next

技术分享图片
next--
技术分享图片
这是生成的代码
技术分享图片


技术分享图片

下面来了解Objects.equals
技术分享图片

 

阶段1 语言基础+高级_1-3-Java语言高级_03-常用API第二部分_第1节 Object类_3_重写Object类的equals方法

原文:https://www.cnblogs.com/wangjunwei/p/11226258.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!