Course temp2=(Course)coursesToSelect.get(0);
System.out.println("添加了课程:"+temp2.getId()+":"+temp2.getName());
Course cr3=new Course("3","test");
coursesToSelect.add(4,cr3);
个人理解,仅供参考:arraylist的大小应该是根据arraylist中元素多少来确定的,而你插入这条语句(coursesToSelect.add(4,cr3);)时,加上这条语句的元素一共才4个元素,所有它的下标最多是3.