23

假设我有一个班级客户:

public class Customer {

private String firstName;
private String lastName;
private String doNotAddMeToEquals;

//Getters and Setters below

}

我在 Eclipse 中使用Guava Eclipse 插件来生成我的 equals() 和 hashCode() 方法;但是,我也可以使用 eclipse -> Source -> Generate HashCode / Equals。不管怎样……都无所谓。

有没有办法对属性 doNotAddMeToEquals 进行注释,这样当我使用 guava 插件生成 equals 和 hashcode 方法时,该属性不会显示在列表中?

无需更改插件或创建模板。

提前致谢!!

4

2 回答 2

17

听起来你想要的是这样的:

http://projectlombok.org/features/EqualsAndHashCode.html

它允许您使用注释来驱动 equals 和 hashcode 方法中包含哪些属性。

于 2013-10-22T00:13:48.260 回答
15

使用 Lombok,您可以从 hashcode 和 equals 中排除属性,例如:

@EqualsAndHashCode(exclude = {"nameOfField"})

那将是你的情况

@EqualsAndHashCode(exclude = {"doNotAddMeToEqualsAndHashCode"})
于 2018-11-27T15:21:49.683 回答