1. 程式人生 > >反射_通過反射越過泛型檢查

反射_通過反射越過泛型檢查

package cn.itcast.test;

import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import java.util.ArrayList;

/*
 * 需求:給你一個ArrayList<Integer>的一個物件,我想在這個集中新增一個字串,如何實現呢?
 */
public class ArrayListDemo {
	public static void main(String[] args) throws Exception {
		// 建立集合物件
		ArrayList<Integer> array = new ArrayList<Integer>();

		// array.add("hello");
		// array.add(10);

		// 使用反射
		Class c = array.getClass();
		Constructor con = c.getConstructor();
		Object obj = con.newInstance();

		// 呼叫方法
		Method m = c.getMethod("add", Object.class);
		m.invoke(obj, "hello");
		m.invoke(obj, "wrold");
		m.invoke(obj, "java");

		System.out.println(obj);
	}
}