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


总结

每天进步一点点!

相关推荐
匆匆整棹还40 分钟前
关于tomcat乱码和idea中控制台乱码的问题
java·tomcat·intellij-idea
何似在人间5751 小时前
SpringAI+DeepSeek大模型应用开发——1 AI概述
java·人工智能·spring·springai
匹马夕阳2 小时前
Java开发中的设计模式之观察者模式详细讲解
java·观察者模式·设计模式
风铃儿~2 小时前
Java微服务注册中心深度解析:环境隔离、分级模型与Eureka/Nacos对比
java·分布式·微服务·面试
赤橙红的黄2 小时前
Spring Boot中接入DeepSeek的流式输出
java·服务器·javascript
小样vvv2 小时前
【AI】IDEA 集成 AI 工具的背景与意义
java·人工智能·intellij-idea
sg_knight2 小时前
Spring Cloud 2024.x智能运维:AI驱动的故障预测与自愈
java·运维·人工智能·spring boot·spring cloud
hunter1272 小时前
Dolphinscheduler3.2.1运行Java Jar路径重复的BUG修复问题
java·bug·jar
敲键盘的小夜猫2 小时前
LLM初识:从Java开发者视角理解大语言模型
java·人工智能·语言模型
我真的不会C3 小时前
Qt中widget控件的常见属性
java·开发语言·qt