zoukankan      html  css  js  c++  java
  • 泛型程序设计(一)

    Java中增加泛型之前,泛型是使用继承实现的(通用的Object)

    这样,get一个值的时候要进行强制类型转换

    add的时候没有错误检查,可以添加任何类的对象,不安全

    加入类型参数以后,get直接拿到类型,不需要进行强制类型转换

    add的时候直接检测,插入类型错误直接报错,更加安全,可读性好

    AirayList 类有一个方法 addAll 用来添加另一个集合的全部元素。 程序员可能想要将 ArrayList<Manager> 中的所有元素添加到 ArrayList<Employee> 中去。然而, 反过来就不行了。如何只能允许前一个调用,而不能允许后一个调用呢? Java语言的设计者发明了一个具 有独创性的新概念, 通配符类型 (wildcard type), 它解决了这个问题。 

    一个简单的泛型类的例子:

    指定泛型类中的多个类型变量:

    变量类型大写规范:

    在 Java 库中, 使用变量 E 表 示集合的元素类型, K 和 V 分别表示表的关键字与值的类型。T ( 需要时还可以用临近的 字 母 U 和 S ) 表 示“ 任 意 类 型 ”。 

    可以在普通类中定义一个泛型方法:

    如何调用以及类型推导:

    可能出现的问题,寻找超类:

    救措施是将所有的参数写为double值

    类型变量的限定:

    也可以有多个限定:

    类型擦除...

  • 相关阅读:
    IntelliJ IDEA设置JVM运行参数
    IntelliJ IDEA 乱码解决方案 (项目代码、控制台等)
    188.索引与视图
    187.数据库操作
    186.元素
    185.流程设计
    184.数据操纵语言DML
    改变linux shell前景色和背景色
    Centos文本方式安装情况下lvm分区的创建
    深入理解计算机系统第二版习题解答CSAPP 2.20
  • 原文地址:https://www.cnblogs.com/geeklove01/p/10154112.html
Copyright © 2011-2022 走看看