通過反射越過泛型檢查
- A:案例演示
- ArrayList< Integer >的一個對象,在這個集合中添加一個字符串數據,如何實現呢?
package com.heima.test;
import java.lang.reflect.Method;
import java.util.ArrayList;
public class Test01 {
/**
* @param args
* 泛型只在編譯期有效,在運行期會被擦除掉
* @throws Exception
*/
public static void main(String[] args) throws Exception {
ArrayList<Integer> list = new ArrayList<>();
list.add(111);
list.add(222);
Class clazz = Class.forName("java.util.ArrayList"); //獲取字節碼對象
Method m = clazz.getMethod("add", Object.class); //獲取add方法
m.invoke(list, "abc");
System.out.println(list);
}
}