泛型

    技术2022-07-10  136

    泛型

    1.基本信息

    包:java.util 类型:接口

    当不写泛型的时候,认为是Object ArrayList arrayList = new ArrayList();

    //不写泛型的时候(为了先下兼容),认为元素类型就是Object, //等价于 ArrayList

    2.泛型出现的原因

    以集合列表说明:

    arrayList.add("hello"); arrayList.add("world"); arrayList.add(10);//Integer -> 装箱操作

    问题就在于消费集合元素时,无法确定元素的类型。只能在运行时暴露异常信息。 为了解决此问题,Java语言就提供了泛型的技术,用来约束集合中元素的类型,提前将此问题在开发时期就暴露出来,这样会将异常提前到编译期。

    3.注意事项

    尖括号中的标识符是自己起的,数量没有限制,用逗号分隔就行. class Class2<T,M>{只是从实践中,大家会使用一些见名知意的泛型标识: E-----elementT----- typePk---- 主键 有了泛型定义以后,所有类中出现类型的地方(成员类型、方法返回值、方法参数)可以直接使用泛型标识

    4.方法和变量绑定

    例:

    public static void main(String[] args) { String c = method("45","45"); System.out.println(c); } public static <T> T method(T a,T b){ return a; }

    main方法中的c类型是方法method返回的,所以类型都是T, method中传入的参数要求都是T类型,所以将c类型和传入参数a b方法method返回类型绑定都要一致。

    Processed: 0.012, SQL: 9