我真的很喜欢项目lombok的功能,摆脱样板代码。 我的大四学生建议我,lombok似乎使用反射来减少样板代码,我曾经听说过使用反射效果表现。 我的问题是使用项目lombok有什么问题吗?
答案 0 :(得分:31)
Lombok在运行时不使用反射。它挂钩到编译器内部,并在编译时向代码添加代码,然后正常编译。
答案 1 :(得分:6)
@chrylis答案是正确的,但要注意对象图(@Data
和@ToString
注释),例如
@Data
public class A {
private B b;
}
@Data
public class B {
private A a;
}
Lombok将创建带有无限递归的toString。你应该用
像B类中的@ToString(exclude = {"a"})