今天用反射的方法调用framework框架层的方法
Class<?> cls=Class.forName(className);
Method method=cls.getDeclaredMethod(methodName, new Class<?>[]{Integer.class});
老是出现
java.lang.NoSuchMethodException
异常
改写成
Class<?> cls=Class.forName(className);
Method method=cls.getDeclaredMethod(methodName, new Class<?>[]{int.class});
就可以正常调用了
由此可见
int.class和Integer.class返回的class对像是不一样的
本文讨论了在使用Java反射API调用框架层方法时遇到的NoSuchMethodException异常问题,并提供了修改参数类型后成功调用的解决方案。通过对比int.class与Integer.class的不同之处,解释了为何修改参数类型可以解决问题。
3万+

被折叠的 条评论
为什么被折叠?



