2016-01-04 4 views
5

Использование @Getter в поле отлично работает, но при попытке перейти на Java 8 я столкнулся с ConcurrentModificationException, так как получатель, созданный Lombok, не выполняет копию поля, что необходимо вы хотите предотвратить внешнюю модификацию состояния экземпляра.Lombok @Getter и копии коллекций

Любые идеи, как я могу получить Ломбок, чтобы скопировать Collection на геттеры, или я ограничился написанием собственного?

ответ

3

@Getter and @Setter Из документации:

Вы можете аннотировать любое поле с @Getter и/или @Setter, чтобы Ломбок автоматически генерировать геттер по умолчанию/сеттера. По умолчанию getter просто возвращает поле и называется getFoo, если поле называется foo (или isFoo, если тип поля является логическим). Установщик по умолчанию называется setFoo, если поле называется foo, возвращает void и принимает 1 параметр того же типа, что и поле. Он просто устанавливает поле для этого значения.

Поскольку вам нужна дополнительная функциональность, то по умолчанию вы должны будете написать свой собственный.

+0

Не ответ, который я хотел, но ответ, тем не менее: '( –

+0

Там нет никакого способа сделать это с некоторыми Ломбками аннотаций/Конфигом правом – Ignacio

+0

No. Смотрите также:? Https://github.com/rzwitserloot/lombok/ вопросы/420 – mpkorstanje