正确地从列表中删除整数<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))?这会引起一些讨厌的虫子。
list.remove(1)
list.remove(new Integer(1))
怎样才能正确区分remove(int index),它从给定的索引中移除元素,并且remove(Object o),在处理整数列表时,哪个元素通过引用删除元素?
remove(int index)
remove(Object o)
这里要考虑的要点是@Nikita提到-精确的参数匹配优先于自动装箱。
RISEBY
眼眸繁星
呼如林
相关分类