java - 在特定情况下实现等于/哈希码以检查列表是否是子列表的子集
问题描述
我知道我应该实施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 合约?
解决方案
推荐阅读
- c++ - C++ UE4 atlbase.h 没有这样的文件或目录
- google-drive-api - Google 幻灯片 API:间歇性“检索图像时出现问题。” 来自 CreateImage 请求的错误
- javascript - 将 JS 类合并到 react 中
- awk - 使用变量字段文件格式解析符号分隔文件,格式为 key=value 的变量字段
- python - 在“with”语句中返回是否危险?
- pandas - 如何将序数排名转换为整数分数?
- laravel - 如何在 laravel querybuilder 中指定使用 [with] 方法的列?
- android - 如何在 TopAppBar 上的 IconButton 下方添加文本?
- python - python中有没有类似于matlab中的fzero的函数?
- youtube-api - Google YouTube OAuth API 错误 403:org_internal 此客户端仅限于其组织内的用户