【问题标题】:Lombok Builder ignores custom setterLombok Builder 忽略自定义设置器
【发布时间】:2015-07-09 14:09:59
【问题描述】:

所以,我有一个带有 @Builder 注释的类和一个自定义设置器,它们要做的不仅仅是设置 this.authorities

@Setter(AccessLevel.NONE)
private Collection<Authority> authorities;

public void setAuthorities(Collection<Authority> authorities...

但在使用类生成器时会忽略此设置器。

对我来说另一件奇怪的事情是,即使我删除了我的 setter,builder 仍然有 authorities 方法。这是一个错误还是我在这里做错了什么?

【问题讨论】:

  • 您似乎认为@Builder 将类转换为构建器。它没有,它产生另一个。通常,原始类应该没有设置器,因为它是不可变的(这就是您需要构建器的原因)。

标签: lombok


【解决方案1】:

@Builder 使用方法和字段生成自己的类classNameBuilder。这就是为什么它不使用 @Setter 注释中的设置器的原因。这两个注释并不相互依赖,这就是为什么在您删除 setter builder 后仍然可以工作的原因。

查看龙目岛的文档https://projectlombok.org/features/Builder.html

您能否分享更多您的代码,以便更容易理解您想要实现的目标?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-24
    • 1970-01-01
    • 2016-10-31
    • 2022-06-17
    • 2011-03-31
    • 1970-01-01
    • 2011-11-04
    相关资源
    最近更新 更多