(六)泛型

    xiaoxiao2021-03-25  69

    一、引言

    泛型定义的是一种类的约束关系,它表示的类要么自己写出,要么编译器可以推算得出。

    二、泛型的使用

    集合中使用泛型 //定义Map的键值对数据类型 Map<Person,Integer> map = new TreeMap<>(); //定义Entry的数据类型 Set<Map.Entry<Person, Integer>> set2=map.entrySet();

    自定义泛型类,泛型接口:

    1.定义类,接口时可使用泛型< >,如

    class A<T>{ } class B extends A<String>{ }

    2.如实例化是没指定泛型类型,则默认Object 3.继承泛型类和泛型接口时,可指定泛型类型,也可不指定

    泛型方法: 调用方法时,通过输入参数决定方法返回值类型

    public <E> E get(E e){} public <T> List<T> fromArrayToList(T[ ] t,List<T> list)泛型与继承的关系 集合间为并列关系,其共同父类为使用通配符“?”的集合类通配符 List<?> <? extends A>: A及其子类 <? super A> : A及其父类

    注意几点: 1.不可在静态方法中使用泛型,因为泛型随着对象的创建确定 2.不可在catch(E e)中使用泛型 3.可以读取声明为通配符的集合类的对象(以Object方式读),但不能写入(唯一例外:null)

    转载请注明原文地址: https://ju.6miu.com/read-38943.html

    最新回复(0)