相关疑难解决方法(0)

如何在具有最终字段的抽象类上使用 Lombok @SuperBuilder

给定以下带有 Lombok 注释的类@Data@SuperBuilder

@Data
@SuperBuilder
public abstract class Parent {

    protected final String userId;
    protected final Instant requestingTime;
}

@Data
@SuperBuilder
public class Child extends Parent {

    private final Instant beginningDate;
    private final Instant endingDate;
    private final Collection<String> fields;
}

Run Code Online (Sandbox Code Playgroud)

@DataChild类中的注释上出现以下错误:

隐式超级构造函数 Parent() 未定义。必须显式调用另一个构造函数。

有没有办法在Child类的@Data注释上配置非默认构造函数,以便在调用 Builder 时初始化和类final上的所有字段?ChildParent

我已经尝试了@Data, @Getter,@Setter注释与@SuperBuilder子类和父类上的注释的几种不同组合,但还没有找到可行的解决方案。我正在使用 Lombok 1.18.10。

作为参考,这个问题是相关的

编辑

这实际上是 Lombok 应该在 …

java design-patterns builder lombok

6
推荐指数
1
解决办法
7361
查看次数

标签 统计

builder ×1

design-patterns ×1

java ×1

lombok ×1