正确地从列表中删除整数<Integer>这是我刚遇到的一个很好的陷阱。考虑一个整数列表:List<Integer> list = new ArrayList<Integer>();list.add(5);list.add(6);list.add(7);list.add(1);任何有教养的猜测当你执行的时候会发生什么list.remove(1)?关于list.remove(new Integer(1))?这会引起一些讨厌的虫子。怎样才能正确区分remove(int index),它从给定的索引中移除元素,并且remove(Object o),在处理整数列表时,哪个元素通过引用删除元素?这里要考虑的要点是@Nikita提到-精确的参数匹配优先于自动装箱。
3 回答

RISEBY
TA贡献1856条经验 获得超5个赞
remove(Object o)
remove(int index)
list.remove(1)
remove(new Integer(1))

眼眸繁星
TA贡献1873条经验 获得超9个赞
list.remove((int) n);
list.remove((Integer) n);
(Integer) n
Integer.valueOf(n)
new Integer(n)

呼如林
TA贡献1798条经验 获得超3个赞
list.remove(int_parameter);
list.remove(Integer_parameter);
添加回答
举报
0/150
提交
取消