最全的 lombok 注解详情(随着版本不定时更新)
一、注解介绍
作用于类,生成多个 with + 变量名的方法(个数为所有成员变量,不包含 @NonNull),作用于变量,生成 with + 变量名的方法
返回当前对象,需要提供全参(不包含静态变量)构造方法
二、属性介绍
- value:设置 with 方法的访问修饰符
共有 PUBLIC、MODULE、PROTECTED、PACKAGE、PRIVATE、NONE
MODULE 是 Java 9 的新特性,NONE 表示不生成 with 方法,即停用注解功能 - onMethod:列出的所有注解都放在生成的方法上
JDK 7 之前的写法是 onMethod = @__({@Deprecated}),而 JDK 8 之后的写法是 onMethod_ = {@Deprecated} - onParam:列出的所有注解都放在生成的方法参数上
JDK 7 之前的写法是 onParam = @__({@NonNull}),而 JDK 8 之后的写法是 onParam_ = {@NonNull}
三、实战演练
@AllArgsConstructor
@With
public class ZhaoLiYing {
private final String name;
private Integer age;
}
编译后
public class ZhaoLiYing {
private final String name;
private Integer age;
public ZhaoLiYing(String name, Integer age) {
this.name = name;
this.age = age;
}
public ZhaoLiYing withName(String name) {
return new ZhaoLiYing(name, this.age);
}
public ZhaoLiYing withAge(Integer age) {
return new ZhaoLiYing(this.name, age);
}
}