为什么coursesToSelect.add(4,cr3);会报错,显示超出范围呢,哪里定了它的范围呢
这个是Java自动定的,你只要知道有这么回事就行,原理如下:
List容器中的当前容量大小与容器中存放的对象数量有关,比如存放了2个课程对象,那List容器的大小就是3,存放了n个,容器大小就是n+1。
当存放了2个课程对象的时候,容器的对象所以为0和1,所以coursesToSelect.add(index,obj);中的index最大值只能为2,如果大于这个数字,就超过容量的范围了