我试图在需要传递具有Double类型参数的情况下使用反射。当我直接调用该函数时,我的代码可以正常工作,但是当我通过以两个双精度数作为参数的反射来执行该代码时,它会失败。这是错误:
java.lang.NoSuchMethodException: org.jinstagram.Instagram.searchMedia(java.lang.Double, java.lang.Double)
Double lat = Double.parseDouble(methodArgument[0][0]);
Double lng = Double.parseDouble(methodArgument[0][1]);
Method m = instagram.getClass().getDeclaredMethod("searchMedia", Double.class, Double.class);
Object o = (Object) m.invoke(instagram, lat, lng);
只是为了测试,我可以这样成功地调用它:
Object o = instagram.searchMedia(lat, lng);
所以问题一定在使用反射的地方吧?
该方法的签名是
public MediaFeed searchMedia(double latitude, double longitude)
throws InstagramException
所以你需要用double.class
代替Double.class
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句