• 技术文章 >Java >java教程

    equals、hashCode、toString方法重写

    (*-*)浩(*-*)浩2019-09-20 16:12:28转载1173

    equals 方法重写的规则

    判断一定相等(引用一致)

    判断一定不等(类型不一致)

    判断可能相等(需要把当前的对象给强转之后进行比较)

    hashCode 重写规则

    根据当前对象的唯一标识进行重写

    如果为空就直接返回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
    				+ "}";
    	}
    }

    以上就是equals、hashCode、toString方法重写的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:CSDN,如有侵犯,请联系admin@php.cn删除
    专题推荐:equals hashCode toString java
    上一篇:JAVA8的分页工具 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • notepad++如何把文件保存为java文件• java类加载机制详细介绍• java怎么编程• java的参数传递(只有值传递没有引用传递)
    1/1

    PHP中文网