生成equals和hashcode时忽略属性

时间:2013-10-21 22:45:26

标签: java eclipse guava

假设我有一个班级客户:

public class Customer {

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

//Getters and Setters below

}

我正在使用Eclipse中的Guava Eclipse Plugin来生成我的equals()和hashCode()方法;但是,我也可以使用日食 - >来源 - >生成HashCode / Equals。无论哪种方式......无所谓。

有没有办法注释属性doNotAddMeToEquals,这样当我生成等于&使用guava插件的hashcode方法,该属性未在列表中显示?

不改变插件或创建模板。

先谢谢!!

2 个答案:

答案 0 :(得分:7)

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

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

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

答案 1 :(得分:1)

使用龙目岛,您可以从hascode中排除属性,并像这样 @EqualsAndHashCode(exclude = {“ nameOfField”})在您的情况下就是@EqualsAndHashCode(exclude = {“ doNotAddMeToEqualsAndHashCode”})