我正在使用Java lombok注释@Getter为我的POJO生成getter。我有一个'布尔'字段名称是#Abc'。在这种情况下,@ Getter注释通过名称' isAbc()'生成一个方法。不应该通过名称“isIsAbc()'”生成方法吗?
答案 0 :(得分:47)
阅读lombok页面https://projectlombok.org/features/GetterSetter.html
上的“小字”部分对于以...开头的布尔字段,后面紧跟着a 标题大小写字母,没有任何前缀来生成getter名称。
所以您遇到的行为是指定的。
请注意,boolean
和Boolean
的行为不同:
@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;
在这种情况下,名称将保持不变。