EqualsAndHashCode of设置多个属性
时间: 2023-10-16 13:10:34 浏览: 182
hashcode()和equals()
在设置多个属性时,可以使用Objects类的hash方法来生成哈希码,然后再使用equals方法进行比较。示例代码如下:
```
import java.util.Objects;
public class MyClass {
private int id;
private String name;
private int age;
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
MyClass myClass = (MyClass) o;
return id == myClass.id &&
age == myClass.age &&
Objects.equals(name, myClass.name);
}
@Override
public int hashCode() {
return Objects.hash(id, name, age);
}
}
```
在上面的代码中,equals方法比较了id、name和age三个属性是否相等,而hashCode方法使用了Objects类的hash方法来生成哈希码。
阅读全文