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的父类型。

  • 相关阅读:
    文学-人物-苏轼:百科
    文学-人物:王维
    文学-人物:杜甫
    文学-人物:李白
    模型-CMM:百科
    公司-魏桥:百科
    云:VMware
    postfix
    CSS 实现背景图尺寸不随浏览器缩放而变化
    Java中线程的操作状态
  • 原文地址:https://www.cnblogs.com/zhjh256/p/7077207.html
Copyright © 2011-2022 走看看