<? super E>和之间有什么区别<? extends E>?
例如,当你看一下类时java.util.concurrent.LinkedBlockingQueue,构造函数有以下签名:
public LinkedBlockingQueue(Collection<? extends E> c)
Run Code Online (Sandbox Code Playgroud)
并为方法之一:
public int drainTo(Collection<? super E> c)
Run Code Online (Sandbox Code Playgroud) 为什么我super只能使用通配符而不使用类型参数?
例如,在Collection界面中,为什么toArray方法不是这样写的
interface Collection<T>{
<S super T> S[] toArray(S[] a);
}
Run Code Online (Sandbox Code Playgroud)