Java-List泛型测试-学生选课

package collection;

import java.util.*;

//测试泛型

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("0-0?");
        Course cr2 = new Course("2","Java基础");
        courses.add(cr2);
    }

    //测试循环遍历
    public void testForEach()
    {
        for(Course cr:courses)//泛型中的已是规定类型 不再需要Object强转
        {
            System.out.println(cr.id+":"+cr.name);
        }
    }

    //泛型集合可添加泛型子类型的对象实例
    public void testChild()
    {
        ChildCourse ccr = new ChildCourse();
        ccr.id= "3";
        ccr.name = "子类型课程对象实例";
        courses.add(ccr);
    }

    //泛型集合中的限定类型不能使用基本数据类型但可以使用包装类
    public void testBasicType()
    {
        List<Integer> list = new ArrayList<Integer>();
        list.add(1);
        System.out.println("基本类型必须使用包装类作为泛型 "+list.get(0));
    }
    public static void main(String[] args) {
        TestGeneric tg = new TestGeneric();
        tg.testAdd();
        tg.testForEach();
        tg.testChild();
        tg.testForEach();
        tg.testBasicType();
    }

}
package collection;

public class ChildCourse extends Course {

}

你可能感兴趣的:(泛型,ArrayList)