使用lombok的@Builder的注解:Error:java: 无法将类中的构造器应用到给定类型

举报
JavaEdge 发表于 2021/06/04 01:24:51 2021/06/04
【摘要】 背景 今天写项目用lombok的@Builder注解,突然就报错咯。 Error:(14, 1) java: 无法将类 xxx 中的构造器 xxx 应用到给定类型; 需要: 没有参数 找到: java.lang.Integer,java.lang.String,java.lang.String,java.lang.String,java.lang.String,ja...

背景

今天写项目用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类则是通过私有构造函数来实例化,默认是全参数的构造函数。

文章来源: javaedge.blog.csdn.net,作者:JavaEdge.,版权归原作者所有,如需转载,请联系作者。

原文链接:javaedge.blog.csdn.net/article/details/109160982

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。