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

gleicht, hashCode, toString-Methode umschreiben

(*-*)浩
(*-*)浩nach vorne
2019-09-20 16:12:282533Durchsuche

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Vorheriger Artikel:JAVA8-Paging-ToolNächster Artikel:JAVA8-Paging-Tool