Heim > Java > javaLernprogramm > gleicht, hashCode, toString-Methode umschreiben

gleicht, hashCode, toString-Methode umschreiben

(*-*)浩
Freigeben: 2019-09-20 16:12:28
nach vorne
2573 Leute haben es durchsucht

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
				+ "}";
	}
}
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage