@FieldDefaults
通过Lombok设置字段修饰符默认值
1、如何使用
- 注解在需要设置默认值的类上。
- @FieldDefaults(level = AccessLevel.PRIVATE) level可以设置字段的默认访问级别,注解@PackagePrivate除外,他的优先级高于level。
@FieldDefaults 注解可以设置的访问级别包括 private、protected、package 和 public,分别对应 AccessLevel.PRIVATE、AccessLevel.PROTECTED、AccessLevel.PACKAGE 和 AccessLevel.PUBLIC。 - @FieldDefaults(makeFinal=true) 可以将所有属性设置为final,注解为@NonFinal除外。
2、代码示例
例:
@FieldDefaults(makeFinal = true,level = AccessLevel.PUBLIC)
@RequiredArgsConstructor
public class People {
String name;
@NonFinal
int age;
@PackagePrivate
String sex;
}
编译后:除了age都是final,除了sex都是public。
public class People {
public final String name;
public int age;
final String sex;
@Generated
public People(String name, String sex) {
this.name = name;
this.sex = sex;
}
}