Java基础之泛型

    xiaoxiao2021-04-17  43

    1.泛型的作用:

    在泛型出现之前,集合存放的元素一定要指定具体的类型,限制了!jdk5.0以后,一般把运行时可能出现的异常提前到编译时。

    jdk5.0之前:

    ArrayList list = new ArrayList();

    list.add(new Cat());

    list.add(new Dog());

    Cat cat = (Cat)list.get(0);

    Cat cat2 = list.get(1); //有问题!!类型转换异常(ClassCastException),运行时异常!

    ----------------------------------------------------------------------------

    jdk5.0以后

    ArrayList<Cat> list = new ArrayList<Cat>();

    list.add(new Cat());//OK

    list.add(new Dog()); //有问题!在编译时报错

     

    2.泛型类

    格式:

    class 类名<自定义的泛型类>{

    }

    注意:

    1)在创建泛型类的类对象的时候,自定义泛型类的类型就确定!

    2)在创建泛型类的类对象时可以指定自定义泛型类,默认为Object类型

    实例:ArrayList<E>  就是一个泛型类

    3.泛型方法

    第一种: 使用泛型类的类型的泛型方法

    格式:

    class Demo<T>{

    public void method1(T t){ //泛型方法

    }

    }

    注意:

    1)在创建泛型类对象的时候,泛型方法的泛型类型就确定了

    实例: ArrayList 类 上的 addE e)方法就是这样的方法

     

    第二种:使用自定义泛型的泛型方法

    实例:Arrays 类的 asListT ...)就是一个自定义泛型的泛型方法!

     

    两种方法都存在的实例:

    ArrayList是一个泛型类, 里面的add()方法是使用泛型类上的泛型方法,

    toArray() 方法是一个自定义的泛型方法

     

    4.泛型接口

    格式:

    interface A<T>{

    }

    注意:在创建泛型接口的实现类的类对象时,泛型接口的类型确定

    实例:Collection Map 都是泛型接口

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

    最新回复(0)