背景
今天写了个DTO,启动项目的时候,一直提示"已在类中定义了构造器"等字样,怀着可能是idea抽风的想法,把idea重启了三次,结果错误还是没有改变,此时才考虑看代码解决问题
报错信息

解决办法
空参数无法使用@AllArgsConstructor,移除@AllArgsConstructor注解或者为这个类中需要加上自己的参数,如下

注解解释及实例
@AllArgsConstructor 注解在类上,为类提供一个全参的构造方法
@NoArgsConstructor 注解在类上,为类提供一个无参的构造方法。
@RequiredArgsConstructor 注解在类上,会生成构造方法(可能带参数也可能不带参数)。
注意:@RequiredArgsConstructor如果带参数,这参数只能是以 final 修饰的未经初始化的字段或者是以 @NonNull 注解的未经初始化的字段

依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.4</version>
</dependency>
当使用Lombok的@AllArgsConstructor注解时,遇到构造器冲突的错误。博主在尝试重启IDEA无果后,发现问题在于空参数构造器的使用。解决方案是移除@AllArgsConstructor注解或手动添加所需参数的构造器。@AllArgsConstructor、@NoArgsConstructor和@RequiredArgsConstructor分别用于生成全参、无参和基于非null字段的构造方法。依赖于Lombok库(版本1.18.4)。

1万+

被折叠的 条评论
为什么被折叠?



