>  기사  >  Java  >  같음, hashCode, toString 메소드 재작성

같음, hashCode, toString 메소드 재작성

(*-*)浩
(*-*)浩앞으로
2019-09-20 16:12:282539검색

같음, hashCode, toString 메소드 재작성

equals 메소드 재작성 규칙

은 다음과 같이 판단되어야 합니다. 같음(일관적 참조)

판단이 동일하지 않아야 함(유형이 일관되지 않음)

판단이 동일할 수 있음(현재 개체를 강제로 비교해야 함)

#🎜🎜 #

hashCode 재작성 규칙

현재 객체의 고유 식별자를 기반으로 다시 작성

비어 있는 경우, 0을 직접 반환하고, 비어 있지 않으면 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
				+ "}";
	}
}

위 내용은 같음, hashCode, toString 메소드 재작성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
이전 기사:JAVA8 페이징 도구다음 기사:JAVA8 페이징 도구