for(Course cr:st.courseToSelect){ if(cr.id.equals(courseId)){ student.courses.add(cr); } }
for(Course cr:student.courses){ System.out.println("选择了课程:"+cr.id+"\t"+cr.name); }
这节课遍历List和set的时候都用对象的实例来引用,为什么之前的课程里的List就是直接用了呢?
for(Object obj:coursesToSelect){ Course cr=(Course)obj; System.out.println("\t"+cr.id+"、"+cr.name); }
当把对象的属性传进集合里面集合里面是按照属性自己的类型,但是从集合里面拿出来的时候,属性会自动转换为object类型 所以需要强制转,而如果使用了泛型就可以不需要转 直接可以用来调用
不是报错的问题,主要是“Course cr:st.courseToSelect”、“Course cr:student.courses”和Object obj:coursesToSelect,因为在List的时候也没有使用“Object obj:lt.coursesToSelect”这样使用啊,就是想问泛型的时候要用“st.”和“student.”的原因,
有报错信息吗?把报错信息贴一下,并把运行结果也贴一下