利用反射,在整形ArrayList集合中,新增字串資料
阿新 • • 發佈:2018-12-15
沒有什麼才能,將就著看吧,重在瞭解,實現程式碼如下:
import java.lang.reflect.Method;
import java.util.ArrayList;
public class Demo_reflect1 {
public static void main(String[] args) throws Exception {
//在ArrayList<Integer>集合物件中,新增字串資料,如何實現?
//泛型只是在編譯期有效,在執行期會被擦掉,位元組碼檔案屬於執行期
ArrayList<Integer> list =new ArrayList <>();
list.add(45);
list.add(78);
list.add(88);
System.out.println(list);
//1.獲取ArrayList的位元組碼檔案
Class<?> clazz = Class.forName("java.util.ArrayList");
//2.獲取位元組碼裡面的新增方法add
Method method = clazz.getMethod("add", Object.class);
//3.執行新增方法
method.invoke(list, "abc");
//4.再次輸出集合
System.out.println(list);
}
}