问答详情
源自:4-9 学生选课---应用泛型管理课程 Ⅰ

为什么(Course cr:Courses) Courses 会报错

package 集合.Collection;

import java.util.ArrayList;
import java.util.List;

//测试泛型
public class TestGeneric {
    /**
     * 带有泛型---Course,的List类型属性
     * */
    public List<Course> courses;


    public TestGeneric(){
        this.courses = new ArrayList<Course>();
    }
    /**
     * 测试添加
     * */

    public  void  testAdd(){
        Course cr1 = new Course("1","大学语文");
        courses.add(cr1);
        //泛型集合中,不能添加泛型规定的类型以外的对象,否则会报错!
        //courses.add("能否添加一些奇怪的东西?");
        Course cr2 = new Course("2","java基础");
        courses.add(cr2);
    }

    /**
     * 测试循环遍历
     * */
    public void testForEach(){
        for (Course cr:){  为什么(Course cr:Courses) Courses 会报错
            System.out.println(cr.id+":"+cr.name);
        }
    }


    public static void main(String[] args) {
        TestGeneric tg = new TestGeneric();
        tg.testAdd();
        tg.testForEach();

    }

}
Error:(34, 24) java: 找不到符号  符号:   变量 Courses  位置: 类 集合.Collection.TestGeneric


提问者:qq_慕用719741 2019-04-23 17:42

个回答

  • 慕粉7367658
    2019-08-22 18:34:19

    你的 list集合的给定义的是course  foreach冒号后面 放的应该是  集合的名称  注意大小写

  • 慕侠9411768
    2019-05-08 17:45:42

    Course cr:Courses

    Courses 应该是courses,上面定义的是小写

    public List<Course> courses;