ORM基础——对象识别之重写对象equals()和hashCode()方法

方法重写

package entity;

import java.util.Objects;

public class UserOver {
    private int id;
    private String name;
    private String gender;
	
	// getter() and setter()
	
    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        UserOver user = (UserOver) o;
        return id == user.id &&
                Objects.equals(name, user.name) &&
                Objects.equals(gender, user.gender);
    }

    @Override
	public int hashCode() {        
		int result;        
		result = getName ().hashCode();        
		result = 29 * result + getBirthday().hashCode();      
		result = 29 * result + getAge();   
		return result;    
	}
}

  

测试

@Test
    public void testOverride(){
		System.out.println(u1 == u2);
		System.out.println(u1.equals(u2));
    }

运行结果

 

posted @ 2021-06-14 22:35  造锅家的小钢球  阅读(66)  评论(0)    收藏  举报