出现原因:
@Builder注解默认用的是全参数构造函数,此时会导致无法new无参对象,为了解决这个问题往往会在@Builder注解的类上加上@NoArgsConstructor注解或者手动加上无参构造函数,此时虽然可以new无参对象了,但却会报题目中这个错误。
解决方案
解决方法很简单,只需在使用@Builder注解的类上再加上@AllArgsConstructor注解即可
原理
可以通过查看字节码文件观察@Builder注解究竟做了什么
import lombok.Builder;
@Builder
public class User {
private int id;
private String name;
private String pwd;
@Builder注解在BuilderDemo类中生成了一个静态内部类BuilderDemoBuilder,在调用其build方法时是通过BuilderDemo的全参构造器来生成BuilderDemo对象的。而报题目中那个错都是因为BuilderDemo缺少全参构造器导致的。