当前位置 博文首页 > JavaEdge全是干货的技术号:使用lombok的@Builder的注解:Error:

    JavaEdge全是干货的技术号:使用lombok的@Builder的注解:Error:

    作者:[db:作者] 时间:2021-07-19 16:31

    背景

    今天写项目用lombok的@Builder注解,突然就报错咯。

    Error:(14, 1) java: 无法将类 xxx 中的构造器 xxx 应用到给定类型;
    需要: 没有参数
    找到: java.lang.Integer,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.Boolean,java.lang.Boolean,java.lang.String,java.util.Date,java.lang.String,java.util.Date
    原因: 实际参数列表和形式参数列表长度不同

    解决方案

    builder默认用的是全参数构造函数?尝试加了@AllArgsConstructor。

    它的实现方式是会对标注这个注解的类的所有成员变量,所以在使用@Builder构建的时候如果不显式的对某变量赋值的话默认就是null,因为这个变量此时是Builder类里的,通过调用build()方法生成具体T类则是通过私有构造函数来实例化,默认是全参数的构造函数。

    cs