微服务 教程
1085个小节阅读:195.8k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
在Java中,调用equals()可以判断两个对象是否相等。如果类不重写该方法,则判断两个引用是否指向同一个对象。
如何重写equals():
而在Set中判断对象是否重复,在调用equals()之前,需要先调用hashCode()计算hash值。所以判断对象相等需要重写equals()、canEqual()、hashCode()三个方法。
作用:生成equals和hashCode、canEqual方法。用于比较两个类对象是否相同。
位置:类上方
属性:
xxxxxxxxxx
@Setter
@Getter
@ToString
//@EqualsAndHashCode(exclude = {"password"})
//排除password,只使用id,username对比及计算hash
@EqualsAndHashCode(of = {"username"})
//只使用username对比及计算hash
public class User3 {
private Integer id;
private String username;
private String password;
}
注意:
- 对比时只使用非静态属性
- 默认仅使用该类定义的属性不比较父类定义的属性
1. 在LomBok中,可以生成equals和hashCode、canEqual方法
A @Getter
B @ToString
C @Setter
D @EqualsAndHashCode
2. 在LomBok中,@EqualsAndHashCode可以使用属性指定比较时只使用的属性
A exclude
B of
C include
D on
1=>D 2=>B