参考学习:https://blog.csdn.net/sinat_38259539/article/details/71799078
Demo.java:
package cn.xxx.demo;
import java.lang.reflect.Method;
import java.util.ArrayList;
public class Demo {
public static void main(String[] args)throws Exception {
ArrayList<String> array = new ArrayList<String>(); //伪泛型,泛型只在编译之前有约束。编译之后的class文件中没有泛型。
array.add("a");
Class c = array.getClass(); // 反射; 获取ArrayList的Class文件对象。 伪泛型,Class文件对象中并没有泛型。
Method method = c.getMethod("add",Object.class); // 获取add方法
method.invoke(array, 150); // 调用add方法。 传递整型参数,绕过泛型约束。 一般不会这么用,只是为了练习反射
method.invoke(array, 1500);
System.out.println(array);
}
}