java重写hashcode方法
时间: 2023-08-29 13:08:38 浏览: 109
java中重写equals()方法的同时要重写hashcode()方法(详解)
在Java中,hashcode方法用于生成对象的哈希码,通常用于哈希表等数据结构中。为了正确使用哈希表,必须重写hashcode方法。下面是重写hashcode方法的步骤:
1. 确定哪些字段参与计算哈希码。通常,我们选择对象中的所有字段,但有时只需要选择一部分字段。
2. 将每个选择的字段转换为一个整数。可以使用Java中的Arrays.hashCode方法或自定义的哈希函数。
3. 将每个整数组合起来生成对象的哈希码。可以使用Java中的Objects.hash方法或自定义的哈希函数。
下面是一个示例:
```
public class MyClass {
private int field1;
private String field2;
@Override
public int hashCode() {
return Objects.hash(field1, field2);
}
}
```
在这个示例中,我们选择了field1和field2字段,并使用Objects.hash方法将它们组合起来生成哈希码。注意,重写equals方法也是很重要的,因为哈希码相等的对象并不一定相等。
阅读全文