zoukankan      html  css  js  c++  java
  • java泛型中<?>和<T>区别

    public static void printColl(ArrayList<?> al){
                    Iterator<?> it = al.iterator();
                    while(it.hasNext())
                    {
                            System.out.println(it.next().toString());
                    }
    ?和T都表示不确定的类型  但如果是T的话 函数里面可以对T进行操作 比如while里面可以这样写
    T t = it.next();
    System.out.println(t);

    T自定义泛型和?通配符泛型。

    泛型三种:
              [1]ArrayList<T> al=new ArrayList<T>();指定集合元素只能是T类型
              [2]ArrayList<?> al=new ArrayList<?>();集合元素可以是任意类型,这种没有意义,一般是方法中,只是为了说明用法
              [3]ArrayList<? extends E> al=new ArrayList<? extends E>();
                泛型的限定:
                   ? extends E:接收E类型或者E的子类型。
                   ?super E:接收E类型或者E的父类型。

  • 相关阅读:
    洛谷P2762 太空飞行计划问题
    网络流24题 gay题报告
    洛谷P1712 区间
    洛谷P2480 古代猪文
    10.9zuoye
    面向对象类编程,计算分数
    请输入验证码优化版
    面向对象式开发程序
    直接选择排序与反转排序
    随机数产生原理
  • 原文地址:https://www.cnblogs.com/zhjh256/p/7077207.html
Copyright © 2011-2022 走看看