java泛型

来源:互联网 发布:皮卡丘漫画软件 编辑:程序博客网 时间:2024/04/29 21:58

1.泛型实现的是参数化类型的概念,java中的泛型类似于C++中的模板;

2.泛型的存在使得复杂类型可以细分为多种类型,例如List< String >和List< Interger >不是同一种类型;

3.泛型使用TEKV等形式参数表示泛型形参;

4.在泛型中,无法获得任何有关泛型参数类型的信息。也就是说,虽然编译器会把List< String >和List< Interger >视为不同类型,但是当你尝试获取这两个类型时,会发现它们都是List类型(这就是擦除,因为擦除的存在导致你无法正确获取使用泛型的容器内部的数据类型,当你使用泛型编程时,你就会知道这个设定是多么得坑爹,尤其是在你所使用的数据类型不唯一的情况下。);

5.强调一下,泛型是类型的参数化,它存在于类,接口,方法等只要可能涉及到数据类型的地方;

6.类型通配符“?”的存在使得形如Box< ? extends Number >和Box< ? super Integer>可以定义Box< Number >的子类和Box< Integer>的父类(?);

7.不能创建泛型数组,但可以在任何想要创建泛型数组的地方使用ArrayList。
————————————————————————————————————————————————————————
参考文章:http://blog.csdn.net/jinuxwu/article/details/6771121
     http://www.cnblogs.com/lwbqqyumidi/p/3837629.html

0 0