Lombok:@Singular集合元素灵活添加利器

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

一、@Singular介绍

二、使用示例

三、注意事项

四、使用场景

总结


提示:以下是本篇文章正文内容,下面案例可供参考

一、@Singular介绍

@Singular注解可以用在集合类型的字段上,它会生成两个方法,一个是添加单个元素的方法,一个是添加整个集合的方法。这两个方法可以和 @Builder 生成的其他方法一起链式调用,给你的类的所有字段赋值。

二、使用示例

复制代码
@Data
@Builder
public class User {
    private String name;
    private int age;
    @Singular
    private List<String> hobbies;
}

// 使用 @Builder 和 @Singular 生成的方法
User user = User.builder()
    .name("练习时长两年半")
    .age(28)
    .hobby("篮球") // 添加单个元素
    .hobby("唱歌") // 添加单个元素
    .hobbies(Arrays.asList("跳舞", "其他")) // 添加整个集合
    .build(); // 构造 User 对象

可以看出,使用 @Singular 注解的好处是,你可以灵活地添加集合类型的字段,而不需要自己创建和初始化集合对象

如果我们在做单元测试或者编码的时候,能够很方便的完成集合的操作,包括添加多个元素和添加单个元素。

另外,使用 @Singular 注解生成的集合字段,在调用 build() 方法后,会被转换为不可变的集合,这样可以保证对象的不变性和线程安全性。你也可以使用 clear() 方法来清空集合字段

三、注意事项

1、使用 @Singular 注解生成的集合字段,在调用 build() 方法后,会被转换为不可变的集合

2、如果你的类继承了一个父类,那么 @Builder 只会生成当前类的字段和参数,不包括父类的

四、使用场景

1、利用可以添加单个元素的特性,可以在不定义集合的情况下,完成编码

2、利用生成的集合对象的不变性和线程安全性,在某些特殊的场景下,可以作为只读信息存在


总结

每天进步一点点!

相关推荐
小胖java2 分钟前
校园通衢公告枢纽系统
java·spring boot
Crazy________3 分钟前
docker4.8
java·开发语言·eureka
cch89188 分钟前
Laravel 2.x:早期框架的奠基之路
java·开发语言
李小枫26 分钟前
webflux接收application/x-www-form-urlencoded参数
android·java·开发语言
派大星酷37 分钟前
Cookie、Session、Token、JWT 原理 + 流程 + 区别 + 实战
java·网络
身如柳絮随风扬43 分钟前
MyBatis 插件原理详解:从拦截器到动态代理,手写一个分页插件
java·mybatis
sg_knight1 小时前
如何实现“秒传”与“断点续传”?MinIO + Java 实战进阶篇
java·开发语言·文件管理·minio·ftp·oss·文件传输
William Dawson1 小时前
Java 后端高频 20 题超详细解析 ②
java·开发语言
Flittly1 小时前
【SpringAIAlibaba新手村系列】(15)MCP Client 调用本地服务
java·笔记·spring·ai·springboot