EqualsAndHashCode.Exclude; @FieldDefaults(makeFinal = true, level = AccessLevel.PRIVATE) @Getter @Setter @EqualsAndHashCode public class User { String id; String name; @Exclude String password; // 其他的字段和方法 } 在这个例子中,User类有三个字段:id、name和password。通过使用@Exclude注解,我们告诉...
@EqualsAndHashCode 提供了一些参数来定制其行为: exclude:指定不参与 equals 和 hashCode 方法计算的字段。 @EqualsAndHashCode(exclude = {"age"}) public class Person { private String name; private int age; } of:只使用特定字段进行计算,与 exclude 相反。 @EqualsAndHashCode(of = {"name"}) public c...
实现equals, hashCode方法是在编程生活中再常见不过的一个东西了,那么自然@EqualsAndHashCode 这个annotation就成为了一个非常方便的工具。默认情况下,被这个annotation标注的class会用到除了 static,transient修饰的所有属性作为判断标准,当然和之前的annotation一样,可是使用exclude选项除掉不想要的属性。也可以通过callSuper包...
@EqualsAndHashCode(exclude = "ignoreField") public class User { private String name; private String ignoreField; private int age; // 其他字段和方法 } 在这个例子中,ignoreField字段将不会参与equals()和hashCode()方法的生成。 of参数:通过of参数可以明确指定哪些字段参与equals()和hashCode()方法的生成...
rank 表示该字段的优先级,值越大排在越前面,默认为 0 * * Exclude:exclude 属性的替代 * of、exclude 属性不能与 onlyExplicitlyIncluded、Include、Exclude 同时出现 */ @EqualsAndHashCode( exclude = {"age"}, of = {"name", "age"}, callSuper = false, doNotUseGetters = false, cacheStrategy = ...
此注解会生成equals(Object other) 和 hashCode()方法。 它默认使用非静态,非瞬态的属性 可通过参数exclude排除一些属性 可通过参数of指定仅使用哪些属性 它默认仅使用该类中定义的属性且不调用父类的方法 实现equals, hashCode方法是在编程生活中再常见不过的一个东西了,那么自然@EqualsAndHashCode 这个annotation就成为...
2.3 可通过参数exclude排除一些属性 这个很好理解,就是有些字段不用参与比较,那么就可以排除掉,比如:我们可以判处name、age、weight、height属性,通过判断id就能判断两个女孩是否同一个女孩,如下的代码: @EqualsAndHashCode(exclude={"name","age","weight","height"})publicclassGirl2{privatestaticintmyCode=1;priv...
您可以使用@EqualsAndHashCode注解的exclude属性来排除某些字段,或者使用of属性指定要包含的字段。例如,如果您想要排除age字段,可以使用exclude属性: @EqualsAndHashCode(exclude = "age") public class User { private String name; private int age; // 省略构造函数、getter和setter等 // 在此处可以省略equals和...
@EqualsAndHashCode(exclude = {"name","code"}) publicclassLombokIdProduct implements Serializable { privatestaticfinallongserialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) privateLong id; privateString name; privateString code; ...
默认情况下,它将使用所有非静态、非瞬态字段,但您可以通过使用@EqualsAndHashCode.Include或标记类型成员来修改使用哪些字段(甚至指定要使用各种方法的输出)@EqualsAndHashCode.Exclude。或者,您可以通过标记@EqualsAndHashCode.Include和使用来准确指定您希望使用的字段或方法@EqualsAndHashCode(onlyExplicitlyIncluded = true)...