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

这节课讲的这个for循环的一些问题

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);
		}


正在回答

3 回答

 当把对象的属性传进集合里面集合里面是按照属性自己的类型,但是从集合里面拿出来的时候,属性会自动转换为object类型 所以需要强制转,而如果使用了泛型就可以不需要转 直接可以用来调用

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

不是报错的问题,主要是“Course cr:st.courseToSelect”、“Course cr:student.courses”和Object obj:coursesToSelect,因为在List的时候也没有使用“Object obj:lt.coursesToSelect”这样使用啊,就是想问泛型的时候要用“st.”和“student.”的原因,

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

有报错信息吗?把报错信息贴一下,并把运行结果也贴一下

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

举报

0/150
提交
取消
Java入门第三季
  • 参与学习       409791    人
  • 解答问题       4340    个

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

进入课程

这节课讲的这个for循环的一些问题

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