你明白一个单纯的“?”是什么意思吗?它代表的是任意类型。既可以是有继承关系的,也可以是八竿子都打不到的。比如你想写的大约是这样的class gen{pulbic extends Number>void listMove(List >list1 , List> list2,Int i){list2.add(list1.get(i));}}但是请注意这里?号代表的是任意一个Number的子类,这意味着你如果传入像list1 是List
list2.add(list1.get(i));
}
可以放入,但条件是List1>的?类型必须与List2>中?类型相同或者可以显示转化成List2中?的类型当然最好不要出现数组越界的异常,所以你在取出来的时候最好判断一下,各自的非空情况
<>内是一种约束,比如
加个判断 符合条件就添加
public void addList(){
List list = new ArrayList();
List list2 = new ArrayList();
list.add(1);
list.add(2);
for(int i=0; i
}
}