Мне действительно нравится функция проекта lombok, которая избавляется от кода шаблона. Мой старший предложил мне, что ломбок, похоже, использует отражение, чтобы уменьшить код шаблона, и однажды я услышал, что использование эффекта отражения эффекта. Мой вопрос в том, есть ли проблемы с использованием проекта lombok?
Может ли ломбок снизить производительность?
Ответ 1
Ломбок не использует отражение во время выполнения. Он подключается к внутренним компонентам компилятора и добавляет код в классы во время компиляции, который затем компилируется в обычном режиме.
Ответ 2
@chrylis ответ правильный, но будьте осторожны с графом объектов (@Data
и @ToString
аннотация), например.
@Data
public class A {
private B b;
}
@Data
public class B {
private A a;
}
Ломбок создаст toString с бесконечной рекурсией внутри. Вы должны использовать
что-то вроде @ToString(exclude = {"a"})
внутри класса B