java @Builder
时间: 2023-10-04 14:07:34 浏览: 106
`@Builder` 是 Lombok 提供的一个注解,它可以自动生成一个类的建造者模式代码。
使用 `@Builder` 注解后,Lombok 会自动生成一个静态内部类 `Builder`,这个类有相应的属性和方法,用于设置和构建该类的实例。我们只需要在类上添加 `@Builder` 注解,就可以使用 `Builder` 类来构造对象,不需要手写繁琐的构造函数和 setter 方法。
下面是一个使用 `@Builder` 注解的示例:
```java
import lombok.Builder;
import lombok.Data;
@Data
@Builder
public class Person {
private String name;
private int age;
private String gender;
}
```
使用示例:
```java
Person person = Person.builder()
.name("Alice")
.age(20)
.gender("Female")
.build();
```
生成的 `Person.Builder` 类的代码如下所示:
```java
public static class Builder {
private String name;
private int age;
private String gender;
Builder() {
}
public Person.Builder name(String name) {
this.name = name;
return this;
}
public Person.Builder age(int age) {
this.age = age;
return this;
}
public Person.Builder gender(String gender) {
this.gender = gender;
return this;
}
public Person build() {
return new Person(name, age, gender);
}
public String toString() {
return "Person.Builder(name=" + this.name + ", age=" + this.age + ", gender=" + this.gender + ")";
}
}
```
通过使用 `@Builder` 注解,我们可以简化代码,使代码更加简洁易读。同时,Lombok 还提供了其他的注解,如 `@AllArgsConstructor` 和 `@NoArgsConstructor`,也可以用于生成构造函数。
阅读全文