为了账号安全,请及时绑定邮箱和手机立即绑定

输入结果怎么不同?

package com.imooc.collection;


import java.util.ArrayList;

import java.util.List;

/**

 * 备选课程类

 * @author sss

 *

 */

public class ListTest {

    /**

     * 用于存放备选课程的List

     */

public List courseToSelect;

public ListTest(){

this.courseToSelect = new ArrayList();

}

/**

* 用于往courseToSelect中添加备选课程 

*/

public void testAdd(){

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

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

courseToSelect.add(cr1);

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

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

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

courseToSelect.add(0,cr2);

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

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

}

public static void main(String[] args){

ListTest lt = new ListTest();

lt.testAdd();

}

}



输出结果为  

添加了课程:数据结构:null

添加了课程:C语言:null

   怎么和老师的不同?

正在回答

2 回答

this .id =name;  这里应该是this.name=name;  如果按你那样写,就是重新把传进的nama赋值给了this.id,所以导致你输出的temp.id变成了课程名字而不是课程编号,然后temp.name你并没有传进去,所以获取的值是Null(空)

0 回复 有任何疑惑可以回复我~
#1

肆意的灬青春 提问者

非常感谢!厉害 ,谢谢
2017-05-24 回复 有任何疑惑可以回复我~

Course 类的构造器出问题了吧  你把那个类的构造器发来看看

0 回复 有任何疑惑可以回复我~
#1

肆意的灬青春 提问者

package com.imooc.collection; /** * 课程类 * @author sss * */ public class Course { public String id; public String name; public Course(String id,String name){ this.id = id; this .id =name; } } 诺,感谢
2017-05-23 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

输入结果怎么不同?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信