@Builder注解无法构建父类中的字段
程序员文章站
2022-06-04 17:01:01
...
问题
@Data
@Builder
public class Animal {
protected String name;
}
@Data
@Builder
public class Dog extends Animal {
private String master;
}
class Test {
public static void main(String[] args) {
// 此时这里是会报错的,找不到.name()这个方法
Dog.builder().master("me").name().build();
}
}
解决方法
使用
@SuperBuilder
注解
@Data
@SuperBuilder
public class Animal {
protected String name;
}
@Data
@SuperBuilder
public class Dog extends Animal {
private String master;
}
class Test {
public static void main(String[] args) {
// 此时是可以进行构建的
Dog.builder().master("me").name("二哈").build();
}
}
更多的问题
虽然这种方式可以解决,继承的普通类的问题,但是继承抽象类,实现接口时同样也存在这样的问题,目前还没有找到办法解决,如果有好办法,欢迎留言告知,多谢。。。
感谢支持
上一篇: MySQL查询本周、上周、本月、上个月份数据的sql代码
下一篇: 急求ZF存储过程的使用方法