Java@Builder
时间: 2024-10-15 09:05:17 浏览: 25
Java @Builder是Lombok库提供的一种注解,它简化了创建复杂对象的过程。当你在类上添加`@Builder`注解后,Lombok会自动生成构造函数、getter和setter方法,以及一个默认的构建器(通常命名为`defaultXyz`),使得你可以通过链式调用来轻松地构建对象,而无需手动编写大量的getter和setter。例如:
```java
public class User {
private String name;
private int age;
// 使用Lombok @Builder注解
@Builder
public User(String name, int age) {
this.name = name;
this.age = age;
}
}
// 使用时可以这样构建User对象
User user = User.builder()
.name("Alice")
.age(30)
.build();
```
相关问题
java @Builder
`@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`,也可以用于生成构造函数。
java @Builder用法
@Builder 是 Lombok 库中的一个注解,用于简化 Java 对象的构建过程。通过在类上添加 @Builder 注解,Lombok 会自动为该类生成一个内部的 Builder 类,用于构建对象。
使用 @Builder 的步骤如下:
1. 在类上添加 @Builder 注解。
2. 在需要构建对象的地方,使用 Builder 类的静态方法来创建对象。
下面是一个使用 @Builder 的示例代码:
```java
import lombok.Builder;
import lombok.Getter;
@Getter
@Builder
public class Person {
private String name;
private int age;
private String address;
}
public class Main {
public static void main(String[] args) {
Person person = Person.builder()
.name("John")
.age(25)
.address("123 Street")
.build();
System.out.println(person.getName());
System.out.println(person.getAge());
System.out.println(person.getAddress());
}
}
```
在上面的代码中,我们定义了一个 Person 类,并在该类上添加了 @Builder 注解。然后,在 main 方法中使用 Person.builder() 方法创建了一个 Builder 对象,并通过链式调用设置了对象的属性值。最后,通过 build() 方法构建了一个 Person 对象。
使用 @Builder 注解可以简化对象的构建过程,使代码更加清晰和易读。同时,@Builder 还提供了一些额外的功能,如默认值、校验等,可以根据需要进行配置。
阅读全文