站长资讯网
最全最丰富的资讯网站

equals、hashCode、toString方法重写

equals、hashCode、toString方法重写

equals 方法重写的规则

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

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

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

hashCode 重写规则

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

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

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

类名 + {field1=value1, field2=value2}

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

例如:

package com.dada.shiro.entity;   import java.io.Serializable;   public class Organization implements Serializable { 	private Long id;//编号 	private String name;// 组织机构名称 	private Long parentId;// 父编号 	private String parentIds;// 父编号列表 	private Boolean available = Boolean.FALSE; 	public Long getId() { 		return id; 	} 	public void setId(Long id) { 		this.id = id; 	} 	public String getName() { 		return name; 	} 	public void setName(String name) { 		this.name = name; 	} 	public Long getParentId() { 		return parentId; 	} 	public void setParentId(Long parentId) { 		this.parentId = parentId; 	} 	public String getParentIds() { 		return parentIds; 	} 	public void setParentIds(String parentIds) { 		this.parentIds = parentIds; 	} 	public Boolean getAvailable() { 		return available; 	} 	public void setAvailable(Boolean available) { 		this.available = available; 	} 	 	public boolean isRootNode() { 		return parentId == 0; 	} 	 	public String makeSelfAsParentIds() { 		return getParentIds() + getId() + "/"; 	} 	 	@Override 	public boolean equals(Object that) { 		// 1.判断一定相等 		if(this == that) return true;   		// 2.判断一定不等 		if(that == null || getClass() != that.getClass()) return false; 		 		// 3.判断可能相等的情况 		Organization thatObj = (Organization) that; 		if(id==null ? thatObj.id !=null : !id.equals(thatObj.id)) return false; 		 		return true; 	} 	 	@Override 	public int hashCode() { 		return id == null ? 0 : id.hashCode(); 	} 	 	@Override 	public String toString() { 		return "Organization {" + 				"id=" + id +  				", name='" + name + "'" + 				", parentId=" + parentId + 				", parentIds='" + parentIds + "'" + 				", available=" + available 				+ "}"; 	} }

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号