今天被ListView中各种数据状态改变搞得烦心时突然想到list的remove方法移除的对象与下标重合了会发生发生?举个例子就是arraylist中add 1 2 3 4,这时候list.remove(1)会移除对象1还是下标为一的2?动手一实验,打印结果1,3,4;看来是按照下标移除,这时候再添加一个99,然后remove(99),运行,数组越界,看来如果arraylist是integer类型remove方法便只会通过下标去移除,而不是通过对象;如果强行要按对象移除就得强制转换
lists.remove((Object)99);恩 基本就是这么回事了。