Lombok @Builder不适用于继承用例:
例如
class Foo{
protected int xyz1;
.....
protected String xyz7;
}
class Bar extends Foo{
}对于给定的用例,Lombok将无法生成方法来设置Foo类中定义的参数的值。
解决这个问题的方法是:
有更好的解决办法吗?
发布于 2016-04-07 17:00:09
--我把这个放在这里供参考,其他答案表明(在发布这个答案的时候),库中现在有一个@SuperBuilder功能,这似乎更合适。
这有点隐蔽,但人们以前也有过这样的问题,你看:
https://reinhard.codes/2015/09/16/lomboks-builder-annotation-and-inheritance/
总结这篇博文
@AllArgsConstructor
public class Parent {
private String a;
}
public class Child extends Parent {
private String b;
@Builder
private Child(String a, String b){
super(a);
this.b = b;
}
}会允许你使用
Child.builder().a("testA").b("testB").build()https://stackoverflow.com/questions/31664098
复制相似问题