Lombok-@Singular 和 @Builder 组合

@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 提供了许多方便的功能,但过度使用不当使用可能会导致代码难以理解和维护。

相关推荐
howareyou2313 小时前
Linux中用户态的函数是如何通过系统调用进入内核态的(二)
linux·服务器·linux系统调用
遇见~未来13 小时前
第一篇_认识CSS_风格的起点
前端·css
许彰午13 小时前
我手写了一个 Java 内存数据库(四):索引引擎、SQL 解析与总结
java·数据库·sql
遇见~未来13 小时前
第二篇_CSS核心_盒子_布局_视觉
前端·css
林恒smileZAZ13 小时前
宇宙画布:纯 CSS+JS 实现交互式深空艺术
前端·javascript·css
杨云龙UP13 小时前
Oracle 19c多租户架构下设置用户密码永不过期及登录锁定策略说明_20260430
linux·运维·服务器·数据库·oracle
TO_ZRG13 小时前
Android Broadcast Receiver完全入门指南
java·后端·spring
Knight_AL13 小时前
使用 CyclicBarrier + 自定义线程池实现 SpringBoot 并行报表(完整性能对比)
java·spring boot·后端
IT_陈寒13 小时前
Java的finally块居然没执行?这是个巨坑
前端·人工智能·后端
人道领域13 小时前
【LeetCode刷题日记】347.前k个高频元素
java·数据结构·算法·leetcode