假設您編寫Java中的靜態函數來對數組進行排序,很像Arrays.sort()
。 Arrays.sort()
的問題在於它收到一個Object數組,如果其元素沒有實現Comparable
,則拋出ClassCastException
。Java中的泛型和排序
所以,你想你的函數接受作爲參數的Comparable
亞型的數組。類似的東西可以工作:
static <T extends Comparable> void sort(T[] array);
與簽名的問題是,你還可以通過比較公司的陣列整數和字符串,例如,這將導致RuntimeException
。
那麼,你怎麼可以創建將只接收一個數組,其元素實現可比性,並具有所有相同類型(例如整數,字符串,等等?)
簽名的另一個問題是它在通用綁定中使用原始類型。 – 2010-01-15 15:31:01