package com.zlj.kaikeba.example0605.collection;
import java.util.ArrayList;
public class Demo4 {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList();
//往末尾添加元素
list.add(100);
list.add(200);
list.add(300);
list.add(400);
//删除200的数据
list.remove(200);
//查看集合
for (int i = 0; i < list.size(); i ++){
System.out.print(list.get(i) + ",");
}
}
}
我们想要删除200这个数据,但是编译器却报错了,下标越界,也就是我们传入的200是个下标,而不是数据,通过查看源码
系统自动将我们传入的200传给了上一个方法,是因为我们传入的是一个int类型的200,编译器自动将此认为是传入的下标,那我们需要如何解决?将数据封装一下就行了
package com.zlj.kaikeba.example0605.collection;
import java.util.ArrayList;
public class Demo4 {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList();
//往末尾添加元素
list.add(100);
list.add(200);
list.add(300);
list.add(400);
//删除200的数据
list.remove((Integer)200);
//查看集合
for (int i = 0; i < list.size(); i ++){
System.out.print(list.get(i) + ",");
}
}
}
结果: