簡體   English   中英

使用反射傳遞Double類型的參數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM