• Java--泛型


    1.解决元素存储的安全类型2.获取元素需要强制转换

    集合时候没有使用泛型任何元素类型加入集合中,强制转换时候有可能报错

    解决:限制集合的类型,不允许其他类型加入集合,在集合怎么使用泛型 List<>源码使用泛型进行编程

    List<Integer> list=new ArrayList<Integer>();


    泛型使用:

         1.集合中使用泛型  2.自定义泛型类,泛型接口和泛型的方法

         3.泛型与继承的关系4,通配符

    自定义泛型类 没有实例化默认的是Object类型

    泛型方法:对象调用泛型方法指明泛型的方法

    1 // 泛型方法: 不同于T类型,处理其他类型
    2 public <E> E getE(E e)
    3 {
    4       return e;
    5 }
    1 public <E> List<E> formArrayToList(E[] e,List<E>list)
    2     {
    3         for(E e1:e)
    4             list.add(e1);
    5         return list;
    6         
    7     }

    泛型与继承的关系:

     如果类A是类B的子类,那么List<A>不是List<B>的子类


    通配符:解决List<A>,List <B>都是List<?>的子类

       ?extends A:存放 A即其子类   ;?super A存放A和其父类

     对于通配符的使用:

       可以读取声明为通配符的集合类的对象--读取认为其是Object类型,不能够写入

    3.泛型的核心思想:把集合中的内容限制为一个特定类型,就是泛型的核心思想:

        1.静态方法中不能使用泛型

         2.不能在catch使用

         3.泛型类是一个接口或者抽象类,不能够实例化泛型类的对象

          4.泛型的子类必须要具体化 JDBCIm extends DAO<Customer> :泛型的子类必须具体化

  • 相关阅读:
    Python pandas检查数据中是否有NaN的几种方法
    实现one hot encode独热编码的两种方法
    深度学习框架-caffe安装-环境[Mac OSX 10.12]
    Git使用记录
    求解大于某数的下一个素数
    caffe cifar10试跑问题总结
    深度学习框架-caffe安装-Mac OSX 10.12
    常用bash命令
    vim文本编辑器
    第十八周助教总结
  • 原文地址:https://www.cnblogs.com/woainifanfan/p/6771497.html
Copyright © 2020-2023  润新知