📜  Java中的年份 hashCode() 方法及示例(1)

📅  最后修改于: 2023-12-03 14:42:57.311000             🧑  作者: Mango

Java中的年份 hashCode() 方法及示例

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() 方法中,我们创建了两个年份对象 y1y2,并分别输出它们的哈希值。

上述代码的输出结果如下:

y1: 2039910596
y2: 2039910627

可以看到,不同的年份其哈希值也是不同的。对于同一个年份,其哈希值保持不变。

以上就是Java中的年份 hashCode() 方法的介绍及示例。我们可以通过自定义的方式来重写该方法,根据实际情况计算哈希值,以对实例进行唯一标识。