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

相关推荐
小陈phd14 小时前
LCEL(LangChain Expression Language)语法全解
服务器·网络·langchain
至此流年莫相忘14 小时前
Spring 依赖注入三剑客:@Autowired、@Resource 与 @RequiredArgsConstructor 深度对比与实战指南
java·数据库·spring
ctrl_v助手14 小时前
VisionPro (R) QuickBuild相机的连接
服务器·笔记·数码相机·c#
Agatha方艺璇15 小时前
VUE复习笔记
前端·vue.js
零陵上将军_xdr15 小时前
为什么DCL单例要加volatile?——CPU乱序执行与内存屏障
java·linux
大家的林语冰15 小时前
npm 不忍了,正式上线“阶段式发布“的新功能,进一步对抗频繁的供应链攻击!
前端·javascript·node.js
shushangyun_15 小时前
批发商城系统源码多少钱?2026最新报价一览
java·开发语言·人工智能·spring·spring cloud
cfm_291415 小时前
JVM深度详解:Class常量池、运行时常量池、字符串常量池、包装类对象池
java·jvm
JAVA面经实录91715 小时前
高频算法面试题
java·计算机网络·算法·面试
影视飓风TIM15 小时前
从C++引用到类封装:底层视角拆解核心语法与面试考点
java·开发语言