import java.util.ArrayList;
public class Fanxing {
public static void main(String[] args) throws Exception{
ArrayList<Integer> arrayList3=new ArrayList<Integer>();
arrayList3.add(1);//这样调用add方法只能存储整形,因为泛型类型的实例为Integer
arrayList3.getClass().getMethod("add", Object.class).invoke(arrayList3, "asd");
for (int i=0;i<arrayList3.size();i++) {
System.out.println(arrayList3.get(i));
}
ArrayList<String> arrayList2=new ArrayList<String>();
arrayList2.add("asd");//这样调用add方法只能
存储整形,因为泛型类型的实例为Integer
arrayList2.getClass().getMethod("add", Object.class).invoke(arrayList2, 1);
for (int i=0;i<arrayList2.size();i++) {
System.out.println(arrayList2.get(i));
}
}
}
输出结果为:
1
asd
asd
Exception in thread "main" java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
at Fanxing.main(Fanxing.java:19)
请问这是什么问题?