Lombok аннотация @Getter для логического поля

Я использую аннотацию Java lombok @Getter для генерации геттеров для моего POJO. У меня есть поле "boolean" по имени "isAbc". Аннотация @Getter в этом случае генерирует метод с именем isAbc (). Разве он не должен генерировать метод с именем " isIsAbc ()"?

2 ответов


прочитайте раздел "мелкий шрифт" на странице Ломбока https://projectlombok.org/features/GetterSetter.html

для логических полей, которые начинаются с следует title-case letter, ничто не имеет префикса для создания имени геттера.

таким образом, поведение, которое вы испытываете, указано.

обратите внимание, что поведение отличается для boolean и Boolean:

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

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

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

Я делаю некоторые тесты против Ломбока (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 => isGood()               boolean
setter => setGood(boolean good)  void