java使用@Builder时给某些字段设置默认值

发布时间 2024-01-02 15:46:39作者: 佳沃

在 Java 中,@Builder.Default 是 Lombok 注解库中的一个注解,主要用于在使用 Lombok 的 @Builder 注解时设置默认值。

@Builder 是 Lombok 提供的一个注解,可以自动生成符合Builder模式的构造器代码。当我们在类上使用 @Builder 注解时,Lombok 会生成一个内部的静态 Builder 类,用于创建该类的实例。而且,通过在字段上添加 @Builder.Default 注解,我们可以为特定的字段设置默认值。

下面是一个简单的示例,展示了如何使用 @Builder.Default 注解:

import lombok.Builder;
import lombok.Getter;

@Getter
@Builder
public class Person {
    private String name;
    private int age;

    @Builder.Default
    private String occupation = "Student";
}

在上面的示例中,Person 类使用了 @Builder 注解,并为 occupation 字段添加了 @Builder.Default 注解,并设置其默认值为 “Student”。然后,我们就可以使用生成的 Builder 类来创建 Person 实例,如下所示:

Person person = Person.builder()
    .name("Alice")
    .age(25)
    .build();

在上面的代码中,我们只设置了 name 和 age 字段的值,而 occupation 字段由于使用了 @Builder.Default 注解,它将自动使用默认值 “Student”。

通过使用 @Builder.Default 注解,我们可以灵活地为字段设置不同的默认值,更加方便地使用 Lombok 提供的 @Builder 注解。