java ArrayList的remove()方法的参数为int和Integer的问题

ArrayList的父类List中,有2个remove重载方法:

remove(int index)
remove(Object o)

假如参数输入为数字类型,到底是删除值等于该数字的对象还是删除索引为该数字的元素

结果

remove(1)   //是删除索引为1的元素
remove(new Integer(1))  //则删除元素1

因为泛型类的类型必须为引用类型,而不能为基础类型。所以传int的时候,会被当做下标值,传Integer的时候,会被视为泛型类

原文地址:https://www.cnblogs.com/Alcesttt/p/11475680.html