lombok 实验性注解之 @FieldNameConstants

最全的 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 将都不会显示

猜你喜欢

转载自blog.csdn.net/qq_39249094/article/details/121379497