我对java.util.Collections
中的这个方法有一个问题:
public class Collections {
public static <T> void copy(List<? super T> dest, List<? extends T> src) {
for (int i=0; i<src.size();i++)
dest.set(i,src.get(i));
}
}
我了解
<? super T>
是如何工作的,但我不明白为什么第一个参数是List<? super T>
而不是List<T>
。我认为在这种情况下它是无用的。使用
List<T>
应该也可以工作,对吧?如果可能的话,能否给我一些例子来帮助我理解呢?
谢谢。