美文网首页
Java泛型

Java泛型

作者: GGatsby | 来源:发表于2018-07-16 17:27 被阅读7次

    参考链接:

    https://www.cnblogs.com/lwbqqyumidi/p/3837629.html

    http://www.importnew.com/24029.html

    1. 泛型的引入(为什么需要泛型)

    使集合能够自适应的根据元素的不同类型来输出,保证程序运行时不出异常,增强程序的健壮性。就相当于程序可以记忆集合内元素的类型,需要什么就用什么。

    2. 什么是泛型?

    泛型,即“参数化类型”,通俗的讲,就是讲将参数的类型用变量表示,此时可根据传入的参数类型来自适应生成相应类型的变量。

    3. 自定义泛型接口、泛型类和泛型方法

    定义方法与定义普通变量类型一致,其中有个重要的问题:对于传入的不同类型的类型实参,生成的相应对象的实例类型是不是一样的呢?

    其实是一样的,内存中只有一个实例对象,即根据泛型类或者泛型接口实现的唯一实例。究其原因,泛型只作用于编译阶段,在编译过程中,对于正确检验泛型结果后,后将相关信息擦除,亦即成功编译后的class文件中无泛型信息,只有原始类型数据。

    对此总结成一句话:泛型类型在逻辑上看以看成是多个不同的类型,实际上都是相同的基本类型。

    4. 类型通配符

    类型通配符一般使用 来代替具体的类型实参,注意是实参,而不是形参,<?>就相当于<具体类型实参>的父类。

    5. 类型通配符的上限和下限

    <? extends Number> 上限为Number

    <? super Number> 下限为Number

    相关文章

      网友评论

          本文标题:Java泛型

          本文链接:https://www.haomeiwen.com/subject/lzrxxttx.html