欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

重写equals和hashCode

程序员文章站 2024-03-22 17:46:46
...

重写equals和hashCode


比较两个对象的内容是否相同,内容一致则返回true,否则返回false。
比较对象的内容,需要重写父类Object类中的equals()方法。
重写equals的5个步骤

  1. 自反性(比较两个引用是否指向同一个对象)
  2. 判断o是否为null
  3. 判断两个引用指向的实际对象类型是否一致
  4. 强制类型转换
  5. 依次比较各个属性值是否相同(基本数据类型用“==”比较,引用数据类型用equals()方法比较)
@Override  
public boolean equals(Object o) {  
	if (this == o)
		return true;  
	if (o == null || getClass() != o.getClass())
		return false;  
	Students students = (Students) o;  
	if (age != students.age)
		return false;  
	return this.num == students.num;  
}  
@Override  
public int hashCode() {  
	int result = name != null ? name.hashCode() : 0;  
	result = 31 * result + age;  
	return result;  
}