重写equal一定要重写hashcode,重写equals必须重写hashcode

  重写equal一定要重写hashcode,重写equals必须重写hashcode

  

  写爬虫互联网协议(互联网协议)被封了怎么解决?立即使用

  equals 方法重写的规则

  判断一定相等(引用一致)

  判断一定不等(类型不一致)

  判断可能相等(需要把当前的对象给强转之后进行比较)

  hashCode 重写规则

  根据当前对象的唯一标识进行重写

  如果为空就直接返回0,不为空就返回唯一标识的散列码即可。

  toString 重写规则,字符串加上 区别非字符串

  类名{字段1=值1,字段2=值2}

  例如:Person{id=123,name=tom}

  例如:

  包com。达达。四郎。实体;

  导入Java。io。可序列化;

  公共类组织实现可序列化{

  私有长id;//编号

  私有字符串名称;//组织机构名称

  私有长parentId//父编号

  私有字符串parentIds//父编号列表

  私有布尔可用=布尔。假的;

  公共Long getId() {

  返回id;

  }

  公共空的集合id(长id) {

  this.id=id

  }

  公共字符串getName() {

  返回名称;

  }

  公共void集合名称(字符串名){

  this.name=name

  }

  public Long getParentId() {

  返回父编号

  }

  public void setParentId(Long parentId){

  this.parentId=parentId

  }

  公共字符串getParentIds() {

  返回parentIds

  }

  public void setParentIds(String parentIds){

  this.parentIds=parentIds

  }

  公共布尔getAvailable() {

  退货可用;

  }

  可用的公共空集(布尔可用){

  this.available=可用;

  }

  public boolean isRootNode() {

  return parentId==0;

  }

  公共字符串makeSelfAsParentIds() {

  返回get parentids()getId()/;

  }

  @覆盖

  公共布尔值等于(反对){

  //1.判断一定相等

  如果(这==那)返回真实的

  //2.判断一定不等

  if(that==null getClass()!=that.getClass())返回错误的

  //3.判断可能相等的情况

  obj=(Organization)that;

  if(id==null?thatObj.id!=null:id.equals(thatObj.id))返回错误的

  返回真实的

  }

  @覆盖

  public int hashCode() {

  return id==null?0:id。hashcode();

  }

  @覆盖

  公共字符串toString() {

  返回"组织{"

  id= id

  ,name= name

  ,parentId= parentId

  ,parentIds= parentIds

  ,可用=可用

  };

  }

  }以上就是equals、hashCode、toString方法重写的详细内容,更多请关注我们其它相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: