困扰了很久的问题,一直没有解决,谁能提供一些详细的内容?

解决方案 »

  1.   

    自己想过一下,会不会是这样:
    定义一个类的时候,用<T extends SomeClass1>{}
    使用一个实现了泛型的类时,用<? super SomeCLass2>
      

  2.   

    比如说要把一个采用泛型的 List,把其中的元素都添加到另一个 List 中去,就可以采用这样的方式原形。public static <T> void copy (List<? extends T> src, List<? super T> dest)
      

  3.   

    http://blog.csdn.net/turkeyzhou/archive/2008/09/05/2888774.aspx
      

  4.   

    我的理解:
    <? extends T> T和T的子类。
    <? super T> T和T的父类。
      

  5.   

    六楼理解有误,而且是很有误
    http://wenwen.soso.com/z/q113521062.htm
    不过我还是不太懂,等待
      

  6.   

    http://tech.techweb.com.cn/thread-382604-1-1.html
      

  7.   

    .<? extends T>首先你很容易误解它为继承于T的所有类的集合,这是大错特错的,相信能看下去你一定见过或用过List<? extends T>吧?为什么我说理解成一个集合是错呢?如果理解成一个集合那为什么不用List<T>来表示?所以<? extends T>不是一个集合,而是T的某一种子类的意思,记住是一种,单一的一种,问题来了,由于连哪一种都不确定,带来了不确定性,所以是不可能通过add()来加入元素。你或许还觉得为什么add(T)不行?因为<? extends T>是T的某种子类,能放入子类的容器不一定放入超类,也就是没可能放入T。
    2.<? super T>这里比较容易使用,没<? extends T>这么多限制,这里的意思是,以T类为下限的某种类,简单地说就是T类的超类。但为什么add(T)可以呢?因为能放入某一类的容器一定可以放入其子类,多态的概念
      

  8.   

    如果你有《java编程思想》详见泛型哪一章 有几节专讲?通配符的用法和区别!