2017-10-04 143 views
0

我正在尝试使用反射来调用使用@RequiredArgsConstructor(没有staticName参数)的龙目岛生成的构造函数。Lombok是否与.getConstructor()兼容?

Class.forName("path.to.class") 
        .getConstructor(classes) 
        .newInstance(params); 

但我得到一个java.lang.NoSuchMethodException错误。使用.getDeclaredMethod()而不是.getConstructor()适用于其他任何方法,但不适用于与该类同名的构造函数。

Lombok会生成一些无法识别.getConstructor()的奇怪构造函数吗?

+1

这应该只是工作。你能给出注释类的完整代码,所以我可以帮忙吗?它是一个内部类吗?在这种情况下,您会看到一个不可见的额外第一个参数,其中包含对外部类的引用。这与Lombok无关,这正是java所做的。 –

回答

0

问题是两个类参数被切换。我打印出.getConstructors()的结果并发现不匹配。