@Builder
让类支持链构造,而@Singular
让集合类型字段可以更方便的维护。
@Singular
注解可以用在集合类型的字段上,它会生成两个方法,一个是添加单个元素的方法,一个是添加整个集合的方法。这两个方法可以和 @Builder
生成的其他方法一起链式调用。
看实例:
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class User {
private String name;
private Integer age;
@Singular
private List<String> addresses;
}
User user = User.builder()
.name("练习时长两年半")
.age(28)
.addresses(Collections.singleton("篮球")) // 添加单个元素
.addresses(Collections.singleton("唱歌")) // 添加单个元素
.addresses(Arrays.asList("跳舞", "其他")) // 添加整个集合
.build(); // 构造 User 对象
尽管 Lombok 提供了许多方便的功能,但过度使用 或不当使用可能会导致代码难以理解和维护。