无法将类 XXX中的构造器 XXX应用到给定类型

出现原因:
@Builder注解默认用的是全参数构造函数,此时会导致无法new无参对象,为了解决这个问题往往会在@Builder注解的类上加上@NoArgsConstructor注解或者手动加上无参构造函数,此时虽然可以new无参对象了,但却会报题目中这个错误。

无法将类 XXX中的构造器 XXX应用到给定类型

解决方案
解决方法很简单,只需在使用@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缺少全参构造器导致的。

上一篇:Android版&Kotlin版RxJava2+Retrofit2+OkHttp3的基础,kotlin开发网站


下一篇:.Net 6 带来改进