gpt4 book ai didi

java - Lombok 项目 - 值注释 : is it possible to suppress @Getter?

转载 作者:搜寻专家 更新时间:2023-11-01 02:02:59 24 4
gpt4 key购买 nike

搜索Lombok feature-list后尤其是 Getter/Setter 的文档和 @Value annotations 我还没有找到任何抑制 @Getter 生成的代码的设置。

In practice, @Value is shorthand for: final @ToString @EqualsAndHashCode @AllArgsConstructor @FieldDefaults(makeFinal = true, level = AccessLevel.PRIVATE) @Getter

这很重要,因为我不想泄露对本身可变对象的引用。

Effective Java 在“Item 39: Make defensive copies when needed”中提到了这类问题。似乎@Wither可以通过制作实际的防御副本来部分解决这个问题,但我想尽可能避免泄漏属性,无论它们是可变的。

虽然可以自己滚动@Value省略 @Getter 的注释当然,我宁愿不这样做,因为如果这样的设置已经存在,那会给代码库增加不必要的复杂性。

最佳答案

你可以使用:
@值(value)
@Getter(访问级别.NONE)

AccessLevel.NONE 指示 Lombok 不生成 getter。这是您现在能做的最好的事情。

关于java - Lombok 项目 - 值注释 : is it possible to suppress @Getter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41243056/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com