在龙目岛省略一个Setter / Getter

问题

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

龙目岛如何省略这个领域?


#1 热门回答(206 赞)

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

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

@Getter(AccessLevel.NONE)
@Setter(AccessLevel.NONE)
private int mySecret;

#2 热门回答(24 赞)

根据@Data description你可以使用:

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