第9节 学生选课—应用泛型管理课程
泛型:
集合中的元素,可以使任意类型的对象(对象的引用)
如果把某个对象放入集合,则会忽略他的类型,而把他当做Object处理
泛型则是规定了某个集合只可以存放特定类型的对象
会在编译期间进行类型检查
可以直接按指定类型获取集合元素
public class GenericTest {
public List<Course> courses;//带有泛型——Course,的List类型属性
public GenericTest(){
this.courses=new ArrayList<Course>();//List实例化,注意后面也要带泛型
}
public void testAdd(){
Course cr1=new Course("1","大学语文");
courses.add(cr1);
// courses.add("添加这个字符串类型");//系统报错,因为设置了泛型,不能添加除Course外的类型
Course cr2=new Course("2","JAVA基础");
courses.add(cr2);
}
public void testForEach(){
for(Course cr:courses){//因为指定了泛型,所以里面的每个元素是Course类型,无需转换Object类了
System.out.println("课程"+cr.id+":"+cr.name);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
GenericTest gt=new GenericTest();
gt.testAdd();
gt.testForEach();
}
}
执行结果