Lombok 功能
Lombok javadoc 可用,但我们建议查看这些页面。
val
终于!轻松搞定 final 局部变量。
var
可变地!轻松搞定局部变量。
@NonNull
或:我如何学会不再担心并爱上 NullPointerException。
@Cleanup
自动资源管理:轻松安全地调用你的 close()
方法。
@Getter/@Setter
再也不用写 public int getFoo() {return foo;}
了。
@ToString
无需启动调试器查看字段:只需让 lombok 为你生成 toString
即可!
@EqualsAndHashCode
轻松实现相等性:从对象的字段生成 hashCode
和 equals
实现。
@NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor
定制构造器:生成无参构造器、每个 final/非空字段一个参数的构造器,或每个字段一个参数的构造器。
@Data
一应俱全:@ToString
、@EqualsAndHashCode
、所有字段上的 @Getter
、所有非 final 字段上的 @Setter
以及 @RequiredArgsConstructor
的快捷方式!
@Value
轻松创建不可变类。
@Builder
... 就这么简单:轻松创建花哨的对象创建 API!
@SneakyThrows
大胆抛出之前无人抛出过的受检异常!
@Synchronized
正确使用 synchronized
:不要暴露你的锁。
@Locked
弹出并锁定!ReentrantLock
,现在更轻松了。
@With
不可变 'setter' - 创建克隆但只更改一个字段的方法。
@Getter(lazy=true)
懒惰是一种美德!
@Log
舰长日志,星历 24435.7:“那句话又是什么来着?”
实验性
进入实验室:我们正在研究的新东西。
配置系统
定制 Lombok:在一个地方为你的整个项目甚至你的工作区配置 lombok 功能。
运行 delombok
Delombok 将你的源文件复制到另一个目录,并将所有 lombok 注解替换为它们的脱糖形式。因此,它会将
@Getter
转换回实际的 getter。然后它会删除注解。这在各种情况下都很有用;你可以查看底层发生了什么,如果发生不可思议的事情并且你想停止使用 lombok,你可以轻松地删除源代码中所有 lombok 的痕迹,并且你可以使用 delombok 为源代码级别的工具(如 javadoc 和 GWT)预处理你的源文件。有关如何运行 delombok 的更多信息,包括构建工具的说明,可以在 delombok 页面找到。