最全的 lombok 注解详情(随着版本不定时更新)
一、注解介绍
作用于类,生成一个包含所有成员变量的内部类或者内部枚举,内部类中每个字段值即为字段名,并且内部类字段值不可变
二、属性介绍(非必选)
-
value:设置内部类或者枚举的访问控制符,默认为 public
共有 PUBLIC、MODULE、PROTECTED、PACKAGE、PRIVATE、NONE
MODULE 是 Java 9 的新特性,NONE 表示不生成 setter 方法,即停用注解功能 - asEnum:是否为枚举类型,默认 false
- innerTypeName:设置内部类或枚举名,默认值:"",默认内部类名:Fields
- onlyExplicitlyIncluded:仅包含标记为 @ToString.include 的字段,默认为 false
-
Include:设置包含哪些字段
Include 只有在 onlyExplicitlyIncluded = true 时才会生效,Include 标记在需要包含的属性或方法上
当 onlyExplicitlyIncluded = true 时,则必须搭配 Include 使用,否则没有任何效果 - Exclude:设置不包含哪些字段
三、实战演练
@FieldNameConstants(innerTypeName = "天爱", asEnum = true, level = AccessLevel.PRIVATE, onlyExplicitlyIncluded = true)
public class 张天爱 {
@FieldNameConstants.Include
private String name;
@FieldNameConstants.Exclude
private Integer age;
public static void main(String[] args) {
System.out.println(天爱.name);
}
}
四、温馨提示
当 onlyExplicitlyIncluded = true 时需要搭配 @FieldNameConstants.Include 使用,这个时候就没有必要用 @FieldNameConstants.Exclude,因为字段不加 @FieldNameConstants.Include 将都不会显示