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

相关推荐
DKPT1 分钟前
Java内存区域与内存溢出
java·开发语言·jvm·笔记·学习
资深前端之路3 分钟前
react 面试题 react 有什么特点?
前端·react.js·面试·前端框架
aaaweiaaaaaa3 分钟前
HTML和CSS学习
前端·css·学习·html
sibylyue6 分钟前
Guava中常用的工具类
java·guava
秋秋小事10 分钟前
React Hooks useContext
前端·javascript·react.js
奔跑吧邓邓子10 分钟前
【Java实战㉞】从0到1:Spring Boot Web开发与接口设计实战
java·spring boot·实战·web开发·接口设计
Jinuss12 分钟前
Vue3源码reactivity响应式篇之reactive响应式对象的track与trigger
前端·vue3
striver_#13 分钟前
百度前端社招面经二
前端
xcnn_14 分钟前
前端入门——案例一:登录界面设计(html+css+js)
前端·css·html
ST.J14 分钟前
前端笔记2025
前端·javascript·css·vue.js·笔记