lombok注解@getter for boolean字段

3bygqnnd  于 2021-07-12  发布在  Java
关注(0)|答案(3)|浏览(441)

我正在使用javalombok注解@getter为我的pojo生成getter。我有一个名为“is”的“boolean”字段。本例中的@getter注解生成了一个名为“isbc()”的方法。它不应该生成一个名为'isis()'的方法吗?

uz75evzq

uz75evzq1#

阅读lombok页面上的“小字体”部分https://projectlombok.org/features/gettersetter.html
对于以开头并紧跟标题大小写字母的布尔字段,没有任何前缀来生成getter名称。
所以你所经历的行为是特定的。
请注意,行为与 boolean 以及 Boolean :

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

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

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

a0zr77ik2#

我对lombok(1.16.8)做了一些测试,结论如下。

private Boolean good;

getter => getGood()              Boolean
setter => setGood(Boolean good)  void 

private boolean good;

getter => isGood()               boolean
setter => setGood(boolean good)  void 

private Boolean isGood;

getter => getIsGood()            Boolean
setter => setIsGood()            void 

private boolean isGood;

getter => isGood()               boolean
setter => setGood(boolean good)  void
mwkjh3gx

mwkjh3gx3#

Lombok山没有前缀 is 如果名称已以开头 is 后跟大写字母,如 isGood .
你可能会遇到这样的名字 canDelete 这也会有一些挫折感产生一个getter的名字 isCanDelete . 为了避免这种情况,您可以使用 fluent 参数如下:

@Getter(fluent = true)
private boolean canDelete;

或(取决于版本):

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

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

相关问题