首页 > 解决方案 > 在特定情况下实现等于/哈希码以检查列表是否是子列表的子集

问题描述

我知道我应该实施hashCode()equals()但实际上我不知道该怎么做。我有以下课程:

public class Dog {

   private Integer id;
   private Integer age;
   private Instant dateOfBirth;
}

现在,我希望能够检查某些狗列表是否是另一个狗列表的子集。

ArrayList<Dog>

我认为两只狗相同时age,它们是平等的id,,dateOfBirth

当然,实现equals似乎很容易:

public boolean equals(Dog dog) {
  return (dog.id == this.id && dog.age == dog.age && &this.dateOfBirth.equals(dog.dateOfBirth));
}

但是,我不知道如何实现hashCode维护 equals-hashcode 合约?

标签: javaooparraylistequalshashcode

解决方案


推荐阅读