84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
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如圖修改後就參數對應就沒有警告了
其實這麼寫就可以了。
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...。
Integer[]
Object...
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
如圖修改後就參數對應就沒有警告了
其實這麼寫就可以了。
為什麼傳
Integer[]
会有警告,因为参数类型是Object...
。