Lombok 中 @Data、@AllArgsConstructor、@NoArgsConstructor、@Builder 注解的含义与使用

时间:2025-02-15 08:25:44
一、@Data

使用 @Data 注解后,在编译时会自动添加 Getter、Setter、equals、canEqual、hasCode、toString 等方法,不必再手动编写,高效且代码非常简洁。

二、@AllArgsConstructor

使用 @AllArgsConstructor 注解后,在编译时会自动添加一个含有所有已声明字段的构造函数,不必再手动编写含有所有已声明字段的构造函数。

三、@NoArgsConstructor

使用 @NoArgsConstructor 注解后,在编译时会自动添加一个无参的构造函数,不必再手动编写无参构造函数。

四、@Builder

使用 @Builder 注解后,可代替需要的很多构造函数,解决了某个类有很多构造函数的情况。

五、区别与联系

@Data 注解是关于类的 Getter、Setter、equals、canEqual、hasCode、toString 等方法的;
@AllArgsConstructor、@NoArgsConstructor、@Builder 注解是关于类的构造函数的。