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

相关推荐
摇滚侠26 分钟前
《SpringBoot 3:入门与应用实战》第 9 章 使用 WebMvc 开发应用 阅读笔记 2
java·spring boot·笔记
码事漫谈30 分钟前
比尔·盖茨这次谈的不是模型,是账单
前端·后端
新时代牛马43 分钟前
异常向量与VBAR_ELx:Linux entry.S 中的vectors 布局
linux·运维·服务器
technology_x1 小时前
液冷超充站设备厂家哪家好?2026年功率与散热对比
java·开发语言
BlueAsia_Lab1 小时前
华为 SuperCharge 认证,覆盖哪些产品?全品类梳理
运维·服务器·华为
H_oRIZoN_1 小时前
Linux入门DAY32(文件 IO、进程、线程、IPC 通信)
linux·运维·服务器
0+1111 小时前
Linux --Ext系列文件系统
linux·运维·服务器
Yang96111 小时前
一台顶三台:鼎讯DLJ-1在不同故障类型中的模式切换数据复盘
服务器·网络·数据库
LayZhangStrive1 小时前
Agent开发 - MCP Client使用MCP Server的几种方式(Spring AI)
java·spring ai·mcp
潘正翔1 小时前
Memcached构建缓存服务器
运维·服务器·数据库·缓存·云原生·memcached