今天看到一个如博客题目问题,想着应该会初始化吧,不然这个构造方法时干嘛的是吧。
话不多说,直接上代码,看下就好了。
public static void main(String[] args) {
ArrayList list = new ArrayList(10);
System.out.println(list.size());
list.add("hello");
System.out.println(list.size());
list.set(2, "hah");
System.out.println(list.size());
}
输出结果为:
0
1
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 2, Size: 1
at java.util.ArrayList.rangeCheck(ArrayList.java:657)
at java.util.ArrayList.set(ArrayList.java:448)
at com.lin.test.other.TestLearning.main(TestLearning.java:14)
有点意外,有点惊喜,传入了初始值了,数组大小竟然还是0????然后指定位置放入数据还报错了。
带着这种不确定性,看下源码:
/**
* Constructs an empty list with the specified initial