我想測試一些關於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();
}
}
請參閱http://stackoverflow.com/questions/2965747/ – murat 2013-04-28 22:11:48