(51)重写equals()方法一般需要按照以下步骤书写

来源:互联网 发布:淘宝多久可以追加评价 编辑:程序博客网 时间:2024/05/19 00:10


public class EqualsTest {@Overridepublic boolean equals(Object otherObject) {if(this==otherObject)//检测this与otherObject是否引用同一个对象return true;if(otherObject==null)//检测otherObject是否为null,这项检测很有必要return false;if(getClass()!=otherObject.getClass())//比较this和otherObject是否属于同一个类,如果equals的语义在每个子类中有所改变就是用getClass()检测return false;/*当所有的子类都拥有统一的语义,就是用instanceof检测*/if(!(otherObject instanceof ClassName))return false;ClassName other=(ClassName)otherObject;//接着对所有的域进行比较,如果所有的域都匹配就返回true,否则返回falsereturn field1=other.field1&&filed2.equals(other.field2)&&..;}}


0 0
原创粉丝点击