重写 equals() 和 hashcode()
2024-10-07 00:22:39
重写equals()
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Person person = (Person) o;
return age == person.age &&
Objects.equals(name, person.name);
}
@Override
public int hashCode() {
//以下注释重写过程可以根据自己代码的类属性进行组织。未注释的为源码部分
// final int prime = 31;
// int result = 1;
// result = prime * result + age.hashCode();
// result = prime * result + ((name == null) ? 0 : name.hashCode());
// return result; return Objects.hash(name, age);
public static int hash(Object... values) {
return Arrays.hashCode(values);
}
public static int hashCode(Object a[]) {
if (a == null)
return 0; int result = 1; for (Object element : a)
result = 31 * result + (element == null ? 0 : element.hashCode()); return result;
}
最新文章
- 在CentOS 6.5上安装python2.7
- [LintCode] Add Two Numbers 两个数字相加
- RBAC类的方法
- AVAudioSession 音频会话
- glusterfs 内存管理方式
- String的length()和Array的length
- FW Docker为容器分配指定物理网段的静态IP
- 漂亮的自制java验证码
- 使用教程 - BestSync同步软件 - SQL2008R2 数据库定时备份解决方案
- Holding Bin-Laden Captive!(hdoj1085)代码并未完全看懂
- 网络请求 get post
- hdu1061(2015-N1):1.快速幂;2.找规律
- java多线程的编程实例
- Codeforces 1101G(线性基)
- Python 获取类对象的父类
- 如何确定windows启动类型是bios还是uefi
- django 配置 Django
- 2018.12.22 bzoj3277: 串(后缀自动机+启发式合并)
- SpringBoot与SpringCloud学习指南
- SQL Server学习记录之获取每月每季度每年第一天和最后一天