Lombok注释@Getter表示布尔字段

时间:2017-03-06 07:37:17

标签: java lombok

我正在使用Java lombok注释@Getter为我的POJO生成getter。我有一个'布尔'字段名称是#Abc'。在这种情况下,@ Getter注释通过名称' isAbc()'生成一个方法。不应该通过名称“isIsAbc()'”生成方法吗?

2 个答案:

答案 0 :(得分:47)

阅读lombok页面https://projectlombok.org/features/GetterSetter.html

上的“小字”部分
  

对于以...开头的布尔字段,后面紧跟着a   标题大小写字母,没有任何前缀来生成getter名称。

所以您遇到的行为是指定的。

请注意,booleanBoolean的行为不同:

@Getter
private boolean isGood; // => isGood()

@Getter
private boolean good; // => isGood()

@Getter
private Boolean isGood; // => getIsGood()

答案 1 :(得分:3)

如果名称已经以is开头,后跟一个大写字母,如is,则龙目岛不以isGood开头。

您可能会遇到诸如canDelete之类的名称,由于有些挫败感,其生成的吸气剂的名称为isCanDelete。为避免这种情况,您可以使用fluent参数,如下所示:

@Getter(fluent = true)
private boolean canDelete;

或(取决于版本):

@Getter
@Accessors(fluent = true)
private boolean canDelete;

在这种情况下,名称将保持不变。