我有两个这样的课程:
@Builder
public class Parent {
final int a;
final int b;
public class static ParentBuilder {
public ParentBuilder setAllTo(final int value) {
return a(value).b(value);
}
}
}
public class Child extends Parent {
final in c;
@Builder(builderMethodName = "childBuilder")
public Child(final int a, final int b, final int c) {
super(a, b);
this.c = c;
}
}
Run Code Online (Sandbox Code Playgroud)
我的课程正在成长,并获得了越来越多的领域。这是使用的共鸣@SuperBuilder。但是,如何添加定制的构建器方法?
剂量工作的方式相同。我这样尝试:
@SuperBuilder
public abstract class Parent { //yes, I want a abstract parent
final int a;
final int b; …Run Code Online (Sandbox Code Playgroud) 我想覆盖 Lombok 默认构建器方法。我尝试了这段代码,但它不起作用。
甚至可以做这样的事情吗?
@Data
@Builder
static class A {
private int a;
static class Builder {
A.ABuilder a(int x) {
this.a = 2 * x;
return this;
}
}
}
private static void fun() {
var a = A.builder()
.a(1)
.build();
}
Run Code Online (Sandbox Code Playgroud)