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

相关推荐
离&染7 小时前
宝塔nginx一个域名部署两个前端和两个后端(VUE3)
前端·nginx
梅梅绵绵冰7 小时前
springmvc文件上传
java·开发语言
龙华7 小时前
Maven多仓库/依赖配置
java·maven
TT哇7 小时前
【计算机网络】经典易错题 1.概述 2 物理层 3.数据链路层 4.网络层
android·服务器·计算机网络
天道佩恩7 小时前
MapStruct转换实体
java·后端
朱哈哈O_o7 小时前
前端通用包的作用——md5篇
前端
Boop_wu7 小时前
[Java 面试] 多线程1
java·开发语言
专注于大数据技术栈7 小时前
java学习--main方法
java·开发语言·学习
Lsx_7 小时前
🔍 React 有 useAntdTable,Vue3 怎么办?自封一个 useTable!
前端·javascript·vue.js
O***p6047 小时前
TypeScript类型守卫
前端·javascript·typescript