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

为什么"for(Course cr:student.courses) "老是报错啊?错误类型是“Type mismatch: cannot convert from element type Object to Course”

public void testForEachForSet(Student student) {
		// 打印输出,学生所选的课程!
		System.out.println("共选择了:" + student.courses.size() + "门课程!");
		for(Course cr:student.courses) {
			System.out.println("选择了课程:" + cr.id + ":" + cr.name);


正在回答

4 回答

haha,楼主的 Student 的 s 没有大写,

很明显,courses 是 Student类的 属性。



0 回复 有任何疑惑可以回复我~
package com.imooc.stu;
import java.util.*;

public class Student {
   
	public String id;
	public String name;
	
	public Set<Course> courses;
	
	public Student(String id, String name) {
		
		this.id = id;
		this.name = name;
		
		this.courses = new HashSet<Course>();
		
	}
	
}

Stundet类定义泛型 public Set <Course> courses;

0 回复 有任何疑惑可以回复我~
  1. 看看你Student中Set的类型和泛型集合类型有没有写错。

  2. student.courses;中的courses是否与Student类中一致。

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

可能你测试类中创建的List没用泛型吧public List<Course> courses;

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

举报

0/150
提交
取消

为什么"for(Course cr:student.courses) "老是报错啊?错误类型是“Type mismatch: cannot convert from element type Object to Course”

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