new*_*ner 8 java equals lombok
我有一个Person包含 20 个字段并存储在 dynamoDB 中的对象。我想Person根据某些输入创建一个新对象,检查数据库中是否存在相同的对象。如果存在,我想在 的基础上比较这两个对象19 fields out of 20。要忽略的字段是布尔标志检查。
我用来Lombok @Data生成 equals 方法。
有没有一种方法可以做到这一点,而不必equals自己编写完整的重写方法?
Nic*_*lle 11
您还可以将 Lombok 的 @EqualsAndHashCode 与排除结合使用。
@EqualsAndHashCode
public class MyObject{
@EqualsAndHashCode.Exclude
Object fieldToExclude;
}
Run Code Online (Sandbox Code Playgroud)
除了选择要排除的内容之外,您还可以选择像这样选择您想要包含的内容。所有未使用 Include 注释的内容都不会在 equals & hashcode 实现中使用。
@EqualsAndHashCode(onlyExplicitlyIncluded = true)
public class MyObject{
@EqualsAndHashCode.Include
Object fieldToInclude;
}
Run Code Online (Sandbox Code Playgroud)