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

相关推荐
天一生水water7 分钟前
什么是调压器的P2s
linux·服务器·网络
q***23928 分钟前
nginx简单命令启动,关闭等
java·服务器·nginx
拾忆,想起9 分钟前
Dubbo负载均衡全解析:五种策略详解与实战指南
java·运维·微服务·架构·负载均衡·dubbo·哈希算法
shayudiandian9 分钟前
【Java】关键字 native
java
泯泷10 分钟前
Tiptap 深度教程(四):终极定制 - 从零创建你的专属扩展
前端·javascript·架构
局i11 分钟前
vue简介
前端·javascript·vue.js
合作小小程序员小小店11 分钟前
桌面开发,在线%幼儿教育考试管理%系统,基于eclipse,java,swing,mysql数据库
java·数据库·sql·mysql·eclipse·jdk
风中凌乱24 分钟前
ftp服务的安装与部署
linux·服务器
明洞日记32 分钟前
【设计模式手册005】单例模式 - 唯一实例的优雅实现
java·单例模式·设计模式
yqcoder34 分钟前
vue2 和 vue3 中,列表中的 key 值作用
前端·javascript·vue.js