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

相关推荐
captain376几秒前
MyBatis Plus(1)
java·服务器·mybatis
科创致远7 分钟前
ESOP 电子作业指导书 WiFi 网络应用实测报告
运维·服务器·网络
香蕉大香蕉(06敬畏市场)25 分钟前
MySQL 单点详解(08)
java·数据库·mysql·面试·八股
重生之小比特26 分钟前
【Linux系统】17 库制作与原理(下)
linux·运维·服务器
thefool11226629 分钟前
HTTPS协议
java
门思科技36 分钟前
LoRaWAN 网络排障的五层漏斗:从"上不到云"到"数值不对",每一层该用什么工具证明
前端
计算机魔术师36 分钟前
Cursor 官方插件商城现恶意 Claude Code 扩展,约 11 小时影响最多 5000 名开发者
前端
acd1200937 分钟前
Nginx 反向代理的缓冲区坑:后端响应大时接口偶发 502
java·运维·nginx
装不满的克莱因瓶39 分钟前
支付订单成功异步MQ权益发放设计和开发
java·架构·系统架构·rabbitmq·硬件架构
程序员清风41 分钟前
AI 编程助手的权限边界:文件、命令、密钥与人工确认
运维·服务器·网络