当你在Java类上使用 Lombok 中的这些注解时,它们会自动为你生成一些常见的代码,从而减少样板代码,提高代码的简洁性和可读性。让我来解释一下每个注解的作用:
-
@AllArgsConstructor:这个注解通常用于 Lombok,它帮助减少样板代码。当你在一个类上应用
@AllArgsConstructor
时,Lombok 会自动生成一个构造函数,该构造函数初始化类中的所有字段(即非静态和非 final 字段)。这样,你可以轻松地创建具有所有字段值的类的实例。 -
@NoArgsConstructor:同样,这个注解也来自于 Lombok。当你在一个类上标记
@NoArgsConstructor
时,Lombok 会自动生成一个无参构造函数。这个构造函数将所有字段初始化为它们的默认值(例如,引用类型为null
,数值类型为0
)。这在需要一个空构造函数的情况下很有用,比如与 Hibernate 或其他需要无参构造函数的框架集成时。 -
@Data:
@Data
注解是 Lombok 提供的另一个强大功能。当你在一个类上应用@Data
时,Lombok 会自动生成以下几个方法:- 所有字段的 getter 和 setter 方法。
- 一个
equals
方法,用于基于字段值比较对象。 - 一个
hashCode
方法,生成对象的哈希码。 - 一个
toString
方法,返回包含所有字段值的对象的字符串表示。