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

相关推荐
茶底世界之下1 分钟前
Harbeth:高性能Metal图像处理库,让你的图片处理速度飞起来!
前端·github·swift
东离与糖宝3 分钟前
Java 26 FFM API进阶:零JNI调用TensorRT/OpenVINO,AI端到端延迟砍半
java·人工智能
红云梦3 分钟前
互联网三高-高性能之线程池与连接池调优
java·线程池·连接池·池化技术
同聘云4 分钟前
阿里云国际站云服务器价格持续走低会取代VPS主机吗?
服务器·阿里云·腾讯云
wangfpp4 分钟前
Pretext 如何颠覆前端文本布局
前端
瑶山4 分钟前
SpringBoot + MongoDB 5分钟快速集成:从0到1实操指南
java·数据库·spring boot·后端·mongodb
迈巴赫车主5 分钟前
蓝桥杯192.等差数列java
java·数据结构·算法·职场和发展·蓝桥杯
从文处安7 分钟前
「前端何去何从」AI 把开发变快之后:Monorepo 与 Turborepo 如何接住被放大的工程复杂度
前端·人工智能
peterfei7 分钟前
告别浏览器DOM!PureLayout:纯JS/TS布局引擎,让你的CSS在任何环境“起飞”
前端·javascript