一些实用Lombok注解
@Delegate
@Delegate
可以让你的类使用其他类的方法,而不需要自己写代码。
比如,你有一个类叫做A,它有一个方法叫做sayHello()
,你想让另一个类B也能用这个方法,那就可以在B类中加上一个A类型的字段,并在这个字段上加上@Delegate
注解,这样,B类就可以直接调用sayHello()
方法,就像它是自己的方法一样。
看个例子:
// 一个类,有一个方法 public class A { public void sayHello() { System.out.println("Hello"); } } // 一个类,委托了A类的方法 public class B { @Delegate // 委托A类的方法 private A a = new A(); public static void main(String[] args) { B b = new B(); b.sayHello(); // 调用A类的方法 } }
@Cleanup
@Cleanup
可以自动管理输入输出流等各种需要释放的资源,确保安全地调用close方法。
它的使用方法是在声明的资源前加上@Cleanup
,例如:
@Cleanup InputStream in = new FileInputStream("some/file");
这样,当你的代码执行完毕后,Lombok会自动在一个try-finally
块中调用in.close()
方法,释放资源。
如果要释放资源的方法名不是close,也可以指定要调用的方法名,例如:
@Cleanup("release") MyResource resource = new MyResource();
@Singular 和 @Builder 组合
@Builder
让你的类支持链式构造,而@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 对象
但需要注意的是,如果你的类继承了一个父类,那么 @Builder
只会生成当前类的字段和参数,不包括父类的。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?