在需要传递类型为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);所以问题一定出在反射的某个地方,对吧?
发布于 2014-11-07 21:10:07
有关方法的签名如下
public MediaFeed searchMedia(double latitude, double longitude)
throws InstagramException所以您需要使用double.class而不是Double.class
https://stackoverflow.com/questions/26810020
复制相似问题