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

相关推荐
当代红领巾5 分钟前
VMware 里装好 Linux 系统没有 ipv4 地址?
linux·运维·服务器
掘金酱11 分钟前
TRAE Work 实战帮征文 | 获奖名单公示
前端·人工智能·后端
xbgRS17 分钟前
RocketMQ中的broker
java·rocketmq
陆枫Larry17 分钟前
Chromium和Chrome到底是什么关系?
前端
a11177621 分钟前
模仿刀剑神域风格 作品集网页
前端·开源
a11177625 分钟前
Elemental Sandbox(元素沙盒)-Three.js 游戏技能特效
前端·开源
用户693717500138430 分钟前
前阵子刷屏的 Ox-Alpha 真身揭晓!GLM-5.3-Flash 上线,这价格真的杀疯了
前端·后端·github
qq_4017004135 分钟前
TCP 粘包问题深度解析:嵌入式网络开发的常见坑与解决方案
服务器·网络·qt·网络协议·tcp/ip
四千岁36 分钟前
抓包LangChain-了解LangChain的原理
前端·javascript·后端
南雨北斗36 分钟前
TS方式构建Vue3 toast组件(一)
前端