Heim >Java >javaLernprogramm >gleicht, hashCode, toString-Methode umschreiben
Regeln für das Umschreiben der Methode equals
Das Urteil muss gleich sein (Referenzkonsistenz)
Das Urteil Definitiv nicht gleich (Typen sind inkonsistent)
Beurteilung kann gleich sein (Notwendigkeit, das aktuelle Objekt zum Vergleich zwangsweise zu übertragen)
HashCode-Umschreiberegeln
Neu schreiben basierend auf der eindeutigen Kennung des aktuellen Objekts
Wenn es leer ist, wird 0 direkt zurückgegeben. Wenn es nicht leer ist, wird der HashCode der eindeutigen Kennung zurückgegeben.
toString-Umschreiberegel, Zeichenfolge plus '' zur Unterscheidung von Nicht-Zeichenfolgen
Klassenname + {field1=value1, field2=value2}
Zum Beispiel: Person{id=123,name="tom"}
Zum Beispiel:
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 + "}"; } }
Das obige ist der detaillierte Inhalt vongleicht, hashCode, toString-Methode umschreiben. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!