? 通配符,也叫占位符,在不确定对象类型的时候使用, 与T的区别是,T相当于定义了一种类型,只是该类型不明确,所以可以对类型进行操作 T t = ,但是?
则不可以这样做,编译会失败,而且如果方法参数上用了?则 方法上是不用再加?标识
? extends E :可以接收E类型或者E的子类型 ,向上限定,向下扩展 如 ArrayList<? extends E>()
? super E :可以接受E类型及E的父类型 ,向下限定,向上扩展 如TreeSet(Comparator <? super E> comp)
T 和 E 一般没什么区别,Type(类型) Element(元素),一般元素放在集合中用
|
|