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

相关推荐
麦烤楽鸡翅3 分钟前
小红书推荐系统(牛客)
java·python·算法·秋招·春招·牛客·面试算法题
顾安r13 分钟前
11.9 脚本网页 消消乐
前端·javascript·flask·html·pygame
二进制星轨14 分钟前
科研人如何使用ubantu服务器
运维·服务器
C++业余爱好者18 分钟前
.NET线程池ThreadPool.QueueUserWorkItem
java·数据库·.net
.豆鲨包20 分钟前
【Android】Android内存缓存LruCache与DiskLruCache的使用及实现原理
android·java·缓存
superlls20 分钟前
(Java基础)集合框架继承体系
java·开发语言
tobybo25 分钟前
【BUG调查日记】用于压测的机器人进程内存压不住且脱离分配器的管理
服务器·bug·压力测试
宋哈哈25 分钟前
页面水印sdk源码
java·前端·javascript
Kikyo--41 分钟前
前端基础面试题(Css,Html,Js,Ts)
前端·javascript·css·typescript·html
你不是我我1 小时前
【Java 开发日记】我们来说一下 Mybatis 的缓存机制
java·spring·mybatis