大多数时候可以使用泛型方法来代替类型通配符.例如
package com.j1803;
public interface Collection<E> {
boolean containAll(Collection<E> C);
boolean addAll(Collection<? extends E> C);
}
//可以改写成
public interface Collection {
<T> boolean containAll(Collection<T> C);
<T> boolean addAll(Collection<T> c);
}