zoukankan      html  css  js  c++  java
  • Java泛型

    一、泛型的两种形式

    1、泛型类、泛型接口

    2、泛型方法

    二、注意事项

    1、泛型实参必须是引用数据类型,不能是基本数据类型

    2、泛型类或泛型接口上的泛型,可以在该类/接口中修饰:

      属性的类型、方法的形参类型、方法的返回值类型、局部变量的类型。

      但是不能用作 静态成员的类型(静态属性 / 静态方法)

    3、泛型类、泛型接口 ,在运行时,不管实参是什么类型,运行时类型都一样。

      例如:ArrayList<String> list1; ArrayList<Integer> list2; // list1 和 list2 的运行时类型都是 java.util.ArrayList

    4、泛型类、泛型接口,在编译时,如果指定了泛型实参,则严格按照实参类型来处理。

    5、instanceof 后面的类型,不能用带参的 泛型。

      例如:

        list1 instanceof ArrayList<String> // 错误

        list1 instanceof ArrayList  // 正确

    6、泛型与数组

    1)定义泛型数组

      ArrayList[ ] arr = new ArrayList[5]; // 正确

      ArrayList<Integer>[ ] arr = new ArrayList[5]; //正确

      ArrayList<Integer>[ ] arr = new ArrayList<Integer>[ ]; // 错误

    2) 泛型数组不能构成多态引用

      Object[ ] arr = new String[5]; // 多态引用

      ArrayList<Object> arr2 = new ArrayList<Integer>(); // 不能构成多态引用

    三、泛型擦除

      当某个类、接口是泛型的时候,没有指定泛型实参,那么这个时候,就会发生泛型擦除

      发生泛型擦除时,类型按照其父类类型来处理。

      如果这个父类既有类,又有接口,必须要求类在前,接口在后。如果没有类,也可以多个接口。不管如何,只要有上限,就按照第一个上限处理。

  • 相关阅读:
    迅为iTOP4412开发板支持4G以上文件系统扩展
    迅为瑞芯微itop3399开发板Android8系统wifi移植
    centos 下安装显卡驱动步骤
    smarty函数转载
    jquery.qrcode二维码插件生成彩色二维码
    转 jquery插件241个jquery插件—jquery插件大全
    收集的jquery插件
    主机屋空间
    用过的php函数
    VeryMule网上商城
  • 原文地址:https://www.cnblogs.com/lkc9/p/12349670.html
Copyright © 2011-2022 走看看