Lombok中@Data默认没有带参数的构造函数

      在Lombok中,@Data 注解是一个组合注解,它包含了 @ToString, @EqualsAndHashCode, @Getter, @Setter 和 @RequiredArgsConstructor 注解的功能。这意味着它会为类中的所有非静态和非瞬态字段生成标准的 getter 和 setter 方法,以及 toString(), equals(), 和 hashCode() 方法。
然而,@Data 注解本身并不直接包含生成构造函数的逻辑。但是,当与 @AllArgsConstructor, @NoArgsConstructor, 或者 @RequiredArgsConstructor 结合使用时,可以生成不同类型的构造函数:
@NoArgsConstructor 生成一个无参数的构造函数。
@AllArgsConstructor 生成一个包含所有字段的构造函数。
@RequiredArgsConstructor 生成一个包含被 @NonNull 标记的字段的构造函数。
如果在类上仅使用了 @Data 注解,并且没有其他构造函数相关的注解,那么默认情况下,Lombok 不会为这个类生成任何构造函数。但是,如果类中存在任何被 @NonNull 标记的字段,@Data 注解隐含地包含了 @RequiredArgsConstructor,这将导致 Lombok 自动生成一个构造函数,其中包含所有 @NonNull 字段。
如果你想在使用 @Data 的同时确保有一个无参构造函数,你可以显式地添加 @NoArgsConstructor 注解。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值