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

相关推荐
apihz几秒前
全球IP归属地查询免费API详细指南
android·服务器·网络·网络协议·tcp/ip
程序员爱钓鱼2 分钟前
Node.js 编程实战:Express 基础
前端·后端·node.js
Brookty4 分钟前
Java文件操作系列(一):从基础概念到File类核心方法
java·学习·java-ee·文件io
Cat God 00711 分钟前
完整静态工具网站(尝试)
前端·html
小鸡脚来咯12 分钟前
java泛型详解
java·开发语言
WindrunnerMax13 分钟前
从零实现富文本编辑器#9-编辑器文本结构变更的受控处理
前端·架构·github
爱笑的眼睛1113 分钟前
JAX 函数变换:超越传统自动微分的编程范式革命
java·人工智能·python·ai
liuyouzhang15 分钟前
备忘-国密解密算法
java·开发语言
学编程就要猛22 分钟前
算法:1.移动零
java·算法
雨落秋垣22 分钟前
五台腾讯云轻量服务器高可用架构方案(宝塔面板+宝塔WAF)
服务器·架构·腾讯云