> Java > java지도 시간 > 같음, hashCode, toString 메소드 재작성

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

(*-*)浩
풀어 주다: 2019-09-20 16:12:28
앞으로
2550명이 탐색했습니다.

같음, 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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿