java中ArrayList的remove方法删除一个数据时问题简述
来源:互联网 发布:android 美颜算法 编辑:程序博客网 时间:2024/05/22 15:35
之前在逛博客时发现有人发现这个问题虽然给出了解决方案但问题的出现原因并不了解,所以进行说明
如程序所示:
ArrayList list = new ArrayList();add(1);
add(4);
add(3);
如果想删除4那个数据,直接list.remove(4);运行程序会下标越界,
原因是因为remove方法是一个被重载的方法,根据传入参数有
int型(既下标索引)和Object(对象)型的两种方法,首先要知道
直接输入一个整数如4,在没有声明变量类型的时候程序默认是int型,
即使你在编译器里选用的是Object(对象)方法,程序运行时也是根据
重载的机制以传入参数的类型而调用方法,因此list.remove(4),4实际上是int型
调用的是根据数组下标删除数据的方法,而非根据对象删除的方法,所以我们需要
这样写:list.remove((Integer)4);这时4从int型被转为Integer型,
程序运行时根据对象类型调用remove(Object)方法;
欢迎大家补充说明
1 0
- java中ArrayList的remove方法删除一个数据时问题简述
- java中ArrayList使用remove删除元素时几种常见的问题及解决办法
- ArrayList中remove()方法删除长度大于5的元素之后下标重定位的问题
- ArrayList的remove方法的一个特性
- 关于List,ArrayList中remove(object obj)方法不能删除对象问题
- 关于List,ArrayList中remove(object obj)方法不能删除对象问题
- ArrayList在执行remove方法时遇到的问题
- ArrayList的remove()方法
- Java中ArrayList 的remove&removeall
- 今天遇到的对List,ArrayList的remove方法的一个小问题
- java中ArrayList源码方法理解--add(),remove()
- ArrayList中调用set()方法,没有插入数据的问题
- ArrayList的remove()的问题
- 细说ArrayList的remove方法
- ArrayList、Iterator的remove方法
- Java ArrayList删除特定元素的方法
- ArrayList<Integer> 中remove 方法调用的区分
- JAVA基础--ArrayList删除的问题
- Android Shape 使用详解(附图)
- Redmine bundle install问题
- Fisher精确检验的通俗理解
- php渲染模板高并发下潜在的错误
- angularjs 中界面跳转或返回,界面刷新问题cache:false
- java中ArrayList的remove方法删除一个数据时问题简述
- 记录常用的JS/jq备忘
- 2016年第七届蓝桥杯试题(C/C++本科B组)
- linux JDK 安装
- centos安装vnc
- 多线程中run()和start()方法的区别
- 小写字母转化大写字母
- FFmpeg转码
- Android Small插件化框架--启动插件Activity源码解析(下)