Подтвердить что ты не робот

Может ли ломбок снизить производительность?

Мне действительно нравится функция проекта lombok, которая избавляется от кода шаблона. Мой старший предложил мне, что ломбок, похоже, использует отражение, чтобы уменьшить код шаблона, и однажды я услышал, что использование эффекта отражения эффекта. Мой вопрос в том, есть ли проблемы с использованием проекта lombok?

4b9b3361

Ответ 1

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

Ответ 2

@chrylis ответ правильный, но будьте осторожны с графом объектов (@Data и @ToString аннотация), например.

@Data 
public class A {
   private B b;
}

@Data 
public class B {
   private A a;
}

Ломбок создаст toString с бесконечной рекурсией внутри. Вы должны использовать что-то вроде @ToString(exclude = {"a"}) внутри класса B