提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
之前看到有人提到了Lombok中的一个注解叫做@toBuilder,感觉有点意思,所以留下这个学习记录。
一、toBuilder简介
lombok的toBuilder功能是什么?
Lombok的toBuilder功能是一种注解,可以在类上使用,以生成一个可以用来创建类实例的构建器。这样可以简化代码,避免编写冗长的构造器或者setter方法。
@toBuilder使用举例
例如,如果你有一个名为Widget的类,你可以在类声明上添加@Builder注解,然后使用Widget.builder()方法来创建一个Widget对象。
Widget widget = Widget.builder()
.name("My Widget")
.id(123)
.build();
这样就不需要编写一个带有所有参数的构造器或者一个空的构造器和多个setter方法。Lombok会为你生成一个包含所有属性的构建器,你可以链式地调用它的方法,然后使用build()方法来得到一个Widget对象。
二、@toBuilder和@Data有什么区别
@toBuilder和@Data是两个不同的Lombok注解,它们有不同的功能和用途。
@toBuilder是用来生成一个构建器的注解,它可以让你方便地创建类的实例。
@Data是一个方便的快捷注解,它包含了@ToString, @EqualsAndHashCode, @Getter / @Setter 和 @RequiredArgsConstructor的功能,它可以为你生成所有简单POJOs或者beans需要的代码,例如所有字段的getter和setter方法,以及合适的toString, equals和hashCode方法。
假设你有一个名为Person的类,它有三个属性:name
, age
和gender
。如果你只使用@Data注解,你的代码可能是这样的:
@Data
public class Person {
private String name;