@Builder 作用
时间: 2023-10-01 19:06:54 浏览: 87
`@Builder` 是 Lombok 中的一个注解,用于快速生成一个建造者模式相关的代码,可以用于简化对象的创建和初始化。使用 `@Builder` 注解后,Lombok 会自动生成一个静态内部类 Builder,该 Builder 中会包含所有字段的 setter 方法以及一个 build 方法,可以用于构建原对象。
使用 `@Builder` 注解时,需要将该注解放在类上,并将类的访问级别设置为 `public` 或 `package-private`。同时,需要在需要生成 builder 的字段上添加 `@NonNull` 注解,以确保生成的 builder 在创建对象时不会漏掉必填的字段。
示例代码:
```java
import lombok.Builder;
import lombok.NonNull;
@Builder
public class Person {
@NonNull
private String name;
private int age;
private String address;
}
// 使用方式
Person person = Person.builder()
.name("Tom")
.age(20)
.address("China")
.build();
```
在上面的示例中,使用 `@Builder` 注解自动生成了一个静态内部类 `Person.Builder`,该类包含了所有字段的 setter 方法和一个 build 方法。使用 `Person.builder()` 方法可以获取到该 builder,调用 setter 方法设置相应的字段值,最后调用 `build()` 方法创建一个 `Person` 对象。这样就可以简化对象的创建和初始化过程。
阅读全文