314

我想在 Lombok 中使用数据类。由于它有大约十几个字段,因此我对其进行了注释@Data以生成所有 setter 和 getter。但是,有一个特殊的字段我不希望实现访问器。

Lombok 是如何省略这个字段的?

4

3 回答 3

561

您可以将访问级别传递给@Getter@Setter注释。这对于使 getter 或 setter 受保护或私有很有用。它也可以用来覆盖默认值。

使用@Data,默认情况下您可以公开访问访问器。您现在可以使用特殊访问级别NONE来完全省略访问器,如下所示:

@Getter(AccessLevel.NONE)
@Setter(AccessLevel.NONE)
private int mySecret;
于 2011-11-03T11:29:48.643 回答
46

根据@Data 描述,您可以使用:

所有生成的 getter 和 setter 都将是公开的。要覆盖访问级别,请使用显式 @Setter 和/或 @Getter 注释来注释字段或类。您还可以使用此注释(通过将其与 AccessLevel.NONE 结合使用)来完全禁止生成 getter 和/或 setter。

于 2011-11-03T11:31:49.253 回答
17

使用以下代码在创建 setter 和 getter 时省略/排除value键应该使用 inside@Getter@Setter

@Getter(value = AccessLevel.NONE)
@Setter(value = AccessLevel.NONE)
private String mySecret;
于 2020-06-27T17:31:18.657 回答