本文主要是介绍Lombok:@Singular集合元素灵活添加利器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
目录
一、@Singular介绍
二、使用示例
三、注意事项
四、使用场景
总结
提示:以下是本篇文章正文内容,下面案例可供参考
一、@Singular介绍
@Singular
注解可以用在集合类型的字段上,它会生成两个方法,一个是添加单个元素的方法,一个是添加整个集合的方法。这两个方法可以和 @Builder
生成的其他方法一起链式调用,给你的类的所有字段赋值。
二、使用示例
@Data
@Builder
public class User {private String name;private int age;@Singularprivate 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、利用生成的集合对象的不变性和线程安全性,在某些特殊的场景下,可以作为只读信息存在
总结
每天进步一点点!
这篇关于Lombok:@Singular集合元素灵活添加利器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!