由于泛型,只是一个编译时期的概念。一但编译成功后,就无效了。所以,我们可以通过这个特性,使用反射来完成。
如:在ArrayList<Integer> list = newArrayList<Integer>(); 中存放一个String类型的对象。
public class Text
{
publicstaticvoid main(String[] args) throws Exception{
ArrayList<Integer> list = newArrayList<Integer>();
Method method = list.getClass().getMethod("add", Object.class); //注意,这里使用 Object.class
method.invoke(list, "i am a String");
System.out.println(list.toString());
}
}