運行的主要結果是:爲什麼不太匹配重載的方法被稱爲
"Collection<?>".
爲什麼不打電話跟ArrayList<Integer>
參數的方法?
import java.util.*;
public final class GenericClass<T> {
private void overloadedMethod(Collection<?> o) {
System.out.println("Collection<?>");
}
private void overloadedMethod(List<Number> o) {
System.out.println("List<Number>");
}
private void overloadedMethod(ArrayList<Integer> o) {
System.out.println("ArrayList<Integer>");
}
public void method(List<T> l) {
overloadedMethod(l);
}
public static void main(String[] args) {
GenericClass<Integer> test = new GenericClass<Integer>();
ArrayList l = new ArrayList<Integer>();
test.method(l);
}
}
我相信這也應該是'方法(ArrayList的升)' –
Kos
2012-03-15 08:07:42