Lombok @Builder的必需参数

如果我将@Builder添加到类中。创建了builder方法。

Person.builder().name("john").surname("Smith").build();

我有一个需要特定字段的要求。在这种情况下,名称字段是必填字段,而不是姓氏。理想情况下,我想这样声明。

Person.builder("john").surname("Smith").build()

我不知道该怎么做。我尝试将@Builder添加到构造函数中,但没有成功。

@Builder

public Person(String name) {

this.name = name;

}

回答:

您可以使用Lombok批注配置轻松完成此操作

import lombok.Builder;

import lombok.ToString;

@Builder(builderMethodName = "hiddenBuilder")

@ToString

public class Person {

private String name;

private String surname;

public static PersonBuilder builder(String name) {

return hiddenBuilder().name(name);

}

}

然后像那样使用

Person p = Person.builder("Name").surname("Surname").build();

System.out.println(p);

当然@ToString这里是可选的。

以上是 Lombok @Builder的必需参数 的全部内容, 来源链接: utcz.com/qa/429291.html

回到顶部