泛型

集合中的元素,可以是任意类型的对象

     如果把某个对象放入集合,则会忽略他的类型,而把它当做Object处理

泛型则是规定了某个集合只可以存放特定类型及其子类型的对象,会在编译期间进行类型检查,可以直接按指定类型获取集合元素(不需要再强转)

/**
     * 带有泛型——Course的List
     */

    public List<Course> courses;
    
    public TestGeneric(){
        this.courses = new ArrayList<Course>();
    }
    /**
     * 测试添加
     * @param args
     */
    public void testAdd(){
        Course cr1 = new Course("1", "课程一");
        courses.add(cr1);
        //泛型集合中,不能添加泛型规定的类型及其子类型以外的对象,否则编译时即报错
    }
    
    public void testForEach(){
        for(Course cr:courses){
            System.out.println(cr.id+":"+cr.name);//读取直接可用,不需强转
        }
    }
  • 在泛型集合中不仅可以存入泛型规定的类型实例,还可以存入规定类型的子类型的实例
  • 泛型集合中的限定类型不能使用基本数据类型(int long boolean等)
  • 如果要使用可以通过使用包装类限定允许存入的基本数据类型。对应的如Integer,Long,Boolean等。
posted @ 2017-02-28 20:47  小刀是超人!  阅读(192)  评论(0编辑  收藏  举报