📅  最后修改于: 2023-12-03 14:42:57.311000             🧑  作者: Mango
hashCode()
方法是Java中的一个实例方法,用于计算对象的哈希值。哈希值是一个整数,由对象的实例域产生,并可作为该对象的标识符。
hashCode()
方法的返回值是一个整数,通常是由对象的各个实例域计算而来的。在Java中,年份可以作为一个对象的实例域。
通常情况下,我们可以使用Java提供的 java.util.Calendar
类来表示年份。该类的 get()
方法可以得到指定字段的值,例如 Calendar.YEAR
可以得到当前年份。
以下是一个示例代码片段,展示了如何计算一个年份对象的哈希值:
import java.util.Calendar;
public class Year {
private int year;
public Year(int year) {
this.year = year;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + year;
return result;
}
public static void main(String[] args) {
Year y1 = new Year(2021);
Year y2 = new Year(2022);
System.out.println("y1: " + y1.hashCode());
System.out.println("y2: " + y2.hashCode());
}
}
在以上示例中,我们自定义了一个 Year
类,并将年份作为其实例域。重写 hashCode()
方法时,我们先设定了一个质数 31
和一个初始值 1
,然后将实例域 year
带入计算哈希值的公式中。
在 main()
方法中,我们创建了两个年份对象 y1
和 y2
,并分别输出它们的哈希值。
上述代码的输出结果如下:
y1: 2039910596
y2: 2039910627
可以看到,不同的年份其哈希值也是不同的。对于同一个年份,其哈希值保持不变。
以上就是Java中的年份 hashCode()
方法的介绍及示例。我们可以通过自定义的方式来重写该方法,根据实际情况计算哈希值,以对实例进行唯一标识。