public void TestAdd(){
Course cr1 = new Course("1","数据结构");
CourseToSelect.add(cr1);
Course temp = (Course)CourseToSelect.get(0);
System.out.println("添加课程:"+temp.getId()+":"+temp.getName());
Course cr2 = new Course("2","C语言");
CourseToSelect.add(0, cr2);
Course temp2 =(Course)CourseToSelect.get(0);
System.out.println("添加课程:"+temp.getId()+":"+temp.getName());
System.out.println("添加课程:"+temp2.getId()+":"+temp2.getName());
}
结果是:
添加课程:1:数据结构
添加课程:1:数据结构
添加课程:2:C语言
第二个System.out.println("添加课程:"+temp.getId()+":"+temp.getName()); 由于temp变量中存放的是第一次赋值的cr1对象,这个temp并没有被重新赋值,当然还是保持不变呀。
你若想比较,应该把前后两次出现的这个打印代码改成如下代码,再比较就对了:
System.out.println("添加课程:"+CourseToSelect.get(0).getId()+":"+CourseToSelect.get(0).getName());
另外你的代码没有注意编码规范CourseToSelect作为一个对象变量,首字母应该小写
看来这位幕友还没明白我之前的回答。代码更新如下
public void TestAdd(){
Course cr1 = new Course("1","数据结构");
CourseToSelect.add(cr1);
Course temp = (Course)CourseToSelect.get(0);
System.out.println("添加课程:"+CourseToSelect.get(0).getId()+":"+CourseToSelect.get(0).getName());
Course cr2 = new Course("2","C语言");
CourseToSelect.add(0, cr2);
Course temp2 =(Course)CourseToSelect.get(0);
System.out.println("添加课程:"+CourseToSelect.get(0).getId()+":"+CourseToSelect.get(0).getName());
System.out.println("添加课程:"+temp2.getId()+":"+temp2.getName());
}
结果是:
添加课程:1:数据结构
添加课程:2:C语言
添加课程:2:C语言
你是想要这样的效果对吧:)