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

相关推荐
简单点了17 小时前
全栈编程基础知识7
运维·服务器·网络
实心儿儿17 小时前
Linux —— 进程控制 - mini shell
linux·运维·服务器
OtIo TALL17 小时前
redis7 for windows的安装教程
java
程序员黄老师18 小时前
Windows文件移动到Linux上的坑
linux·运维·服务器
mounter62518 小时前
【内核前沿】Linux IPC 迎来大变局?POSIX 消息队列增强、io_uring IPC 与 Bus1 十年回归
linux·运维·服务器·kernel·ipc·io_uring
uNke DEPH18 小时前
Spring Boot的项目结构
java·spring boot·后端
xixingzhe218 小时前
idea启动vue项目
java·vue.js·intellij-idea
超级无敌暴龙兽18 小时前
和我一起刷面试题呀
前端·面试
wzl2026121318 小时前
企业微信定时群发技术实现与实操指南(原生接口+工具落地)
java·运维·前端·企业微信
小码哥_常18 小时前
Robots.txt:互联网爬虫世界的“隐形规则”
前端