foreach输出问题

来源:4-11 学生选课---通过 Set 集合管理课程

慕用8266752

2017-09-15 20:45

package com.imooc.collection;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;

public class SetTest {

	public List<Course> coursesToSelect;

	public SetTest() {
		coursesToSelect = new ArrayList<Course>();
	}

public void testForEach() {

System.out.println("有如下课程待选(通过for each访问):");

for (Object obj : coursesToSelect) {

Course cr = (Course) obj;

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

}

}

上面已经使用了Course泛型为什么下面Foreach的时候还要强制转换

写回答 关注

2回答

  • qq_AmyLewis_0
    2017-09-15 21:36:06

    for (Object obj : coursesToSelect) 中首先定义obj为一个Object类型,所以下面需要再强制转换成Course类型

  • 空白3361202
    2017-09-15 21:20:17

    因为Course cr 已经定义cr为course类型了

Java入门第三季

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

409788 学习 · 4340 问题

查看课程

相似问题