Home > Java > javaTutorial > equals, hashCode, toString method rewriting

equals, hashCode, toString method rewriting

(*-*)浩
Release: 2019-09-20 16:12:28
forward
2549 people have browsed it

equals, hashCode, toString method rewriting

Rules for equals method rewriting

Judgment must be equal (reference consistent)

Judgment Definitely not equal (types are inconsistent)

Judgment may be equal (need to force transfer the current object for comparison)

hashCode rewrite rules

Rewrite based on the unique identifier of the current object

If it is empty, it will return 0 directly. If it is not empty, it will return the hashCode of the unique identifier.

toString rewrite rule, string plus '' to distinguish non-string

Class name {field1=value1, field2=value2}

For example: Person{id=123,name="tom"}

For example:

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
				+ "}";
	}
}
Copy after login

The above is the detailed content of equals, hashCode, toString method rewriting. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:csdn.net
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template