关于java中的invoke反射过程几点疑惑
巴扎黑
巴扎黑 2017-04-18 10:38:11
0
2
768
巴扎黑
巴扎黑

全部回覆(2)
黄舟

1.這個是泛型Class> c = A.class ?可以是任意型別就例如ArrayList array = new ArrayList(); array.add(1);可以array.add("1");也可以但是你放到了這個ArrayList中的資料型別明顯就亂了這樣的資料不安全沒有價值所以必須如下ArrayList array=new ArrayList(); 這時候你的array.add(1);就會報錯不可以存放int 類型的數據
2.編譯不是報錯是警告warn error 是不一樣的
3

如圖修改後就參數對應就沒有警告了

Ty80

其實這麼寫就可以了。

public static void main(String[] args) {
        A a1 = new A();
        Class<?> c = A.class;
        try {
            Method m = c.getMethod("print", int.class, int.class);
            Object o = m.invoke(a1, 10, 20);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

為什麼傳Integer[]会有警告,因为参数类型是Object...

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!