一个字段忘了维护,可能会致使一些bug。git
总之,lombok 极大地简化你的代码,去掉了那些模板代码,让你的POJO看起来更加地清爽(能够只有类名和字段的声明,加上少许的注解)。github
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.8</version> <scope>provided</scope> </dependency>
其余集成开发环境(好比 Visual Studio Code, Eclipse), 请参见官方文档 Install部分。ide
val
终于! 无忧无虑的 final 局部变量。 函数
var
可变!类型可变的局部变量ui
@NonNull
我开始中止了焦虑,爱上了空指针 spa
@Getter/@Setter
不再用写 public int getFoo() {return foo;}
了。插件
ToString
不必启动debugger来查看你的字段:让 lombok来为你生成一个 ToString
方法吧!翻译
@EqualsAndHashCode
让相等变得简单: 从你对象的字段中生成 hashCode
和 equals
的实现debug
@NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor
按需生成构造函数: 生成不带参数的, 每一个 final/non-null 字段一个参数的,一个字段一个参数的构造函数。指针
@Data
全部的都合到一块儿:@ToString
,@ EqualsAndHashCode
,全部字段的 @Getter
,全部非 final 字段的 @Setter
和 @RequiredArgsConstructor
的快捷方式!
@Value
让不可变类变得很是容易。
@Builder
... and Bob's your uncle: No-hassle fancy-pants APIs for object creation!
@SneakyThrows
大胆抛出之前没有人抛出的已检查异常!
@Synchronized
synchronized
作了正确的事:不要暴露你的锁。
@Getter(lazy=true))
惰性加载是一种美德!
@Log)
Captain's Log, stardate 24435.7: "What was that line again?"
experimental
Head to the lab: The new stuff we're working on.