首页 > 其他 > 详细

equals方法

时间:2018-12-01 21:31:47      阅读:159      评论:0      收藏:0      [点我收藏+]

  编写equals方法的建议(《java核心技术卷1》第10版 P169)

  • 显示参数命名为otherObject,稍后需要将它转换成另一个叫做other的变量。
  • 检测this与otherObject是否引用同一个对象;
  • 检测otherObject是否为null,如果为null,返回false。
  • 比较this与otherObject是否属于同一个类。如果equals的语义在每个子类中有所改变,就使用getClass检测: 
  if(getClass()!=otherObject.getClass()) return false;

   如果所有的子类都拥有统一的语义,就使用instanceof检测:  

if(!(otherObject instanceof ClassName)) return false
  • 将otherObject转换为相应的类类型变量:
Class other=(ClassName)otherObject;
  • 使用==比较基本类型域,使用equals比较对象域。如果所有的域都匹配,就返回true;否则返回false。
return field1==other.field1&&Object.euqals(field2,other.field2)&&..;

  

 

equals方法

原文:https://www.cnblogs.com/comicfuji/p/10050856.html

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