问答详情
源自:4-4 学生选课---添加课程 Ⅰ

为啥java入门第三季中4-4里面,coursesToSelect.add(1,cr2); 跟coursesToSelect.add(cr2);输出的是 添加了课程1:数据结构 ​ 添加了课程1:数据结构

public void testAdd(){

    //创建一个课程对象,并通过调用add方法,添加到备选课程List中

    Course cr1=new Course("1","数据结构");

    coursesToSelect.add(cr1);

    Course temp=(Course) coursesToSelect.get(0);

    System.out.println("添加了课程"+temp.id+":"+temp.name);

   

    Course cr2=new Course("2","c语言");

    coursesToSelect.add(cr2);

    Course temp2=(Course) coursesToSelect.get(0);

    System.out.println("添加了课程"+temp2.id+":"+temp2.name);

    }

public void testAdd(){

    //创建一个课程对象,并通过调用add方法,添加到备选课程List中

    Course cr1=new Course("1","数据结构");

    coursesToSelect.add(cr1);

    Course temp=(Course) coursesToSelect.get(0);

    System.out.println("添加了课程"+temp.id+":"+temp.name);

   

    Course cr2=new Course("2","c语言");

    coursesToSelect.add(1,cr2);

    Course temp2=(Course) coursesToSelect.get(0);

    System.out.println("添加了课程"+temp2.id+":"+temp2.name);

    }


提问者:张念 2017-05-12 11:11

个回答

  • 慕粉1300195495
    2017-05-12 11:38:16
    已采纳

    因为在List里面 0位置上是cr1 而 cr2是插入到1位置上的,temp2 是获取0位置上的course

  • 张念
    2017-05-12 11:40:06

    我懂了


  • 张念
    2017-05-12 11:37:21

    因为   Course temp2=(Course) coursesToSelect.get(0);取的是第0个位置的值,因为当使用

    coursesToSelect.add(1,cr2);跟coursesToSelect.add(cr2);时,c语言对应的位置为1,所以当get(0)时取的为课程1的,输出的跟temp的一样。