[英]Passing argument of type Double using Reflection
我試圖在需要傳遞具有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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.