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

相关推荐
IT_陈寒7 分钟前
React的setState真是个演员,你以为它同步其实在装睡
前端·人工智能·后端
番茄啊2 小时前
linux 开启xftp连接
linux·运维·服务器
孟健2 小时前
Claude Code 同需求写两版对比:装不装 frontend-design 差多远?
前端·ai编程·claude
w_zero_one2 小时前
递归算法(一)
java·开发语言·算法
SL_staff2 小时前
私有化低代码不是减配版开发:JVS双模式建模如何重建IT交付信任
java·低代码·spring cloud
墨着染霜华3 小时前
Redocly 生成 OpenAPI 接口文档踩坑实录|Node 版本兼容 + 接口地址错误问题解决
java
文丑颜不良啊3 小时前
LeetCode1881~1990题目解析
java·leetcode
Julien20043 小时前
管理机密(一)
运维·服务器·开发语言·学习方法
十碗饭吃不饱4 小时前
后端运维:网络联通、进程查询、Java服务启动脚本
java·运维·网络
梦de天空一米16884 小时前
【一个重复id让游戏卡在62%,聊聊配置表检查】
前端