我创建使用子列表Method.Now当我尝试使用中的retainAll执行交集操作它抛出异常为什么在的retainAll ArrayList中抛出
中的retainAll(以下新的ArrayList)的例外方法适用于下面的代码
List<Integer> arrNums1 = new ArrayList<Integer>();
arrNums1.add(1);
arrNums1.add(2);
arrNums1.add(3);
List<Integer> arrNums2 = arrNums1.subList(0, 1);
arrNums2.retainAll(arrNums1);
但是当我尝试申请中的retainAll下面的代码会生成异常,如下
Java代码的
public class Generics1
{
public static void main(String[] args)
{
List<Fruits> arrFruits = new ArrayList<Fruits>();
Fruits objApple = new Apple();
Fruits objOrange = new Orange();
Fruits objMango = new Mango();
arrFruits.add(objApple);
arrFruits.add(objOrange);
arrFruits.add(objMango);
List<Fruits> arrNewFruits = arrFruits.subList(0, 1);
System.out.println(arrFruits.retainAll(arrNewFruits));
}
}
class Fruits {}
class Apple extends Fruits {}
class Orange extends Fruits {}
class Mango extends Fruits {}
错误
在可能的情况下,没有未知关系的代码示例是最好的。例如,这只会在Fruit类中出现,还是会出现标准的Java类有相同的问题? –
当列表包含一个数字说当我创建一个列表 retainAll作品gr8 –
是的我使用了字符串,并测试它也工作 –