我想在 Java 中测试一些关于泛型的东西,所以我写了一个使用泛型的方法,它接受一个列表并删除所有其他元素。我写了这个方法,但它给出了 UnsupportedOperationException 错误。这里有什么问题?
Integer[] strArray = new Integer[] {1, 2, 3, 4, 5};
List<Integer> numbers = Arrays.asList(strArray);
removeOdd(numbers);
for (Object o : numbers){
System.out.println( o );
}
}
public static <T> void removeOdd ( List<T> list){
Iterator<T> itr = list.iterator();
int i = 0;
while(itr.hasNext())
{
itr.next();
i++;
if(i % 2 ==1){
itr.remove();
}
}
最佳答案
Arrays.asList(T...)
创建一个固定大小的列表。您可以替换元素,但不能添加或删除任何元素。
关于java - 泛型代码删除不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16268493/