日期:2014-05-20  浏览次数:20781 次

关于list.remove(object)方法的不解之处?
		ArrayList<Integer> redNum=new ArrayList<Integer>();
redNum.add(20);


System.out.println(redNum.remove(20));   



运行一下,会报索引越界异常,这是为何?难道remove(object)这个方法不能用于Integer类型的ArrayList吗?
------解决方案--------------------
System.out.println(redNum.remove(new Integer(20)));

------解决方案--------------------

remove
public void remove(int position)从此滚动列表中移除指定位置处的项。如果选中了指定位置的项,并且该项是列表中惟一选中的项,则列表将被设置为无选择。 

参数:
position - 要删除项的索引 

remove 中的参数为list的元素索引位置,Integer可以这样

ArrayList<Integer> redNum=new ArrayList<Integer>();
Integer i = new Integer(20);
redNum.add(i);
System.out.println(redNum.remove(i));