我想在lombokbuilder().build();
之后执行一些方法。
但我不想像builder().build().someMethod();
那样手动执行它
@SuperBuilder
的build()
不同于@Builder
。
如何自定义?
@SuperBuilder(buildMethodName = "defaultBuild")
class Foo {
...
public static class FooBuilder {
public FooBuilder build() {
return defaultBuild().someMethod();
}
}
}
它在@Builder
中有效,但在@SuperBuilder
中无效。
由于使@SuperBuilder
工作的泛型和其他技巧层出不穷,您不能自己编写它。换句话说,@SuperBuilder
更挑剔(@Builder
会让你自己写各种东西,SuperBuilder不会(。例如,您的FooBuilder
类需要一组泛型。SuperBuilder并没有强迫你阅读大量的文档,也没有强迫你去登陆以了解它应该是什么样子,而是不让你这样做。