Java(泛型)

为什么需要泛型?

    在使用集合的时候,集合可以存储任意类型的数据,
    遍历特定类型的数据,需要做向下转型,比较麻烦

泛型

1、泛型概念

    泛型是JDK1.5引入的新特征,是一个专门独立的技术,为了规范集合中存储的类型
    比如泛型类、泛型接口等存储数据类型做统一
    像数组一样,方便操作数据,比较安全

2、泛型的格式

    <T,F,G>
        Collection<String> c1 = new ArrayList<>();

3、泛型的特点

    A-Z字母代表的是一种类型
    可以定义多个泛型类型

4、泛型的分类

    1、泛型类:定义在类上的泛型 class GenericClass<E,T>{},
    泛型类应用: GeneriClass<String,Integer> gc = new GeneriClass<>();

    2、泛型接口:interface GenericInterface<E,T>{}
    泛型接口实现类:class GenericInterfaceImpl implements interface GenericInterface<String,Integer>{}


   3、泛型方法:public <H,T> void get(H h , T t){ System.out.println(h+"+"+t);}
   调用泛型方法:gi.get("hello",19)

5、泛型的好处

    简化代码;
    消除安全隐患问题,消除警告;
    避免做强制类型转换;
    提高效率,把运行期异常提升到了编译期;

6、泛型限定符

    ? :表示的类型可以是任意的类型Collection <?> c = new ArrayList<String>();
    ? extends E :表示可以是E类型或者E类型的子类Collection <? extends Father> c = new ArrayList<son>();
    ? super E :表示可以是E 类型或者E类型的父类Collection <? super son> c = new ArrayList<Father>();
posted @ 2021-02-24 14:53  一名初学者  阅读(86)  评论(0)    收藏  举报