zoukankan      html  css  js  c++  java
  • 泛型

    使用泛型的好处:

    泛型的用法是在容器后面添加<Type>,<Type>可以是类,抽象类,接口

    表示这种容器,只能存放这种类型(包括子类对象)

    Number的子类:int, float, double

    可以设计一个支持泛型的栈MyStack,设计这个类的时候,在类的声明上,加上一个<T>,表示该类支持泛型。

    T是typede缩写,也可以使用任何其他的合法的变量,比如A,B,X都可以,但是一般约定成俗使用T,代表类型

    ArrayList  heroList<?extends Hero>表示这是一个Hero泛型或者其子类泛型

    从heroList取出的对象,一定可以转型成Hero的,但是不能往里面放东西

    ArrayList heroList<? super Hero> = new ArrayList<Object>()表示这是一个Hero泛型或者其父类泛型

    可以往里面插入Hero以及Hero的子类,但是不能从里面取数据出来(可能转换类型失败)。

    特例:ArrayList<?> generalList = apHeroList;

    像这种形式只能用 Object o = generalList.get(0);取出来,因为?代表任意泛型

    总结:

    只取出,不插入,?extends Hero

    只插入,不取出,?super Hero

    如果希望,又能插入,又能取出,就不要使用通配符

    父类类型与子类类型不能相互转化,因为你不知道父类类型指向的是什么确切的类型

  • 相关阅读:
    一个tomcat 增加多个端口
    转项目经理
    apicloud 解析
    七行代码搞定 任意数据库中的数据迁移
    语语
    农家设计图纸
    日期再总结
    X删除数据表的新用法
    c#中各类日期的计算方法,收藏
    IIS 7.5 高并发参数配置
  • 原文地址:https://www.cnblogs.com/zxj-262410/p/8490308.html
Copyright © 2011-2022 走看看