背景
list集合大家再工作学习中是不是很常用呢?既然用了list就得删除吧,这时你心想删除不就是remove吗?这谁不会,而且编辑器还能给只能提示呢,我只要r输进去无脑回车就完事了。
一顿操作发现,删除不了!!!
问题代码
Integer in = 1;
Integer index = null;
for (int i = 0; i < list.size(); i++) {
Integer s = list.get(i);
if ( s.equals(in) )
{
index = i;
}
}
list.remove(index);
乍一看这不是天衣无缝吗?找到相同的并记录下标,过后删除,这不是完美无缺?结果运行后发现根本没有删除!!!
问题详解
查阅后发现remove()方法有两个!!!没想到吧!
看看官方文档
没想到吧,入参不一样!
也就是说上面选择的其实是remove(Object o)方法,可能因为编译器智能提示直接就无脑回车了。
总结
再次敲响警钟!!!基础真的很重要!!!