0
當編寫一個亞型超型關係需要兩個對象,有兩個類型參數的方法,什麼是宣佈你的意圖了這些選項的最好方法是什麼?正確的方式來聲明一個方法,在繼承層次中兩個類型參數
同時聲明
super
和extends
:public static <T> void copy(List<? super T> dst, List<? extends T> src) { ... }
申報只是
extends
:public static <T> void copy(List<T> dst, List<? extends T> src) { ... }
申報只是
super
:public static <T> void copy(List<? super T> dst, List<T> src) { ... }
從我的理解,這三個是正確的,等同於對方,因爲所有你感興趣的是的dst
和src
類型參數的相對繼承。那哪個更好?
哪一種你認爲是更簡單,更容易理解? –
就像你說的「繼承實例」那樣使用2種方式來聲明。 – 2013-11-04 10:51:29
爲什麼這比指定一個'extends'或'super'更好? – thecoop