Lombok的注解@Singular使用demo
carl 10/30/2023 javaLombok
@Singular注解用于生成针对集合类型(List、Set等)添加单个元素的方法。下面是一个使用@Singular注解的示例:
import lombok.Builder;
import lombok.Singular;
import java.util.List;
@Builder
public class Person {
private final String firstName;
private final String lastName;
@Singular private final List<String> hobbies;
public static void main(String[] args) {
Person person = Person.builder()
.firstName("John")
.lastName("Doe")
.hobby("Reading")
.hobby("Cooking")
.build();
System.out.println(person);
}
@Override
public String toString() {
return "Person{" +
"firstName='" + firstName + '\'' +
", lastName='" + lastName + '\'' +
", hobbies=" + hobbies +
'}';
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
在上面的例子中,我们使用了@Builder注解和@Singular注解来自动生成代码。@Singular注解被用于hobbies字段,它会为该字段生成添加单个元素的方法,即hobby(String hobby)。因此,在创建Person对象时,我们可以通过多次调用该方法来添加多个兴趣爱好。
注意:@Singular注解只适用于Java 8或更高版本。如果你使用的是Java 7或更早的版本,则需要使用@Builder注解的oldChain属性来手动添加单个元素的方法。