问答详情
源自:4-11 学生选课---通过 Set 集合管理课程

如果要是不给Student类设置Course泛型设置的话,该怎么写呢?

最后的for each 循环要怎么写:

public static void main(String[] args) {

SetTest st = new SetTest();

st.testAdd();

st.testForEach();

//创建一个学生对象

Student student = new Student("1","小明");

System.out.println("欢迎小明同学来选课" + "\n" +"请输入要修的课程:");

//创建Scanner对象

Scanner console = new Scanner(System.in);

for(int i=1;i<4;i++){

System.out.println("请输入要选的第"+i+"门课程的编码");

String courseId = console.next();

for(Course cr:st.couresToSelect){

if(cr.id.equals(courseId)){

student.courses.add(cr);

}

}

}

//打印出学生所选的课程

for(Course cr:student.courses){

System.out.println(cr.id+":"+cr.name);

}

}

加粗的应该写什么代码?

提问者:山巅对弈 2017-08-30 10:15

个回答

  • 冰封一切1
    2017-08-30 11:32:13
    已采纳

    不加Course泛型的话foreach循环应该还是一样的写法,foreach(对象类型 对象名:需要遍历的对象){...}

    不过当遍历的对象中存在其他类型的数据的时候可能会出现类型转换错误,泛型的作用是规范类型

  • 山巅对弈
    2017-08-30 14:01:30

    for(Object cr:student.courses){

    Course cd = (Course)cr;

    System.out.println(cd.id+":"+cd.name);

    }