Java 中的泛型是一種可以在編譯時檢測數據類型的技術。通過泛型,我們可以在編寫代碼時使用一種通用的類型來表示數據,在實際使用時再指定具體的類型。泛型的一個重要特性是可以指定類型的上限和下限。
// 使用上限,表示類型必須是 Number 或 Number 的子類 public staticvoid printNumber(T number) { System.out.println(number); } // 使用下限,表示類型必須是 ArrayList,或 ArrayList 的父類 public static void printList(ArrayList super Integer>list) { for (Object obj : list) { System.out.println(obj); } }
使用上限和下限可以讓我們編寫更加安全和靈活的泛型代碼。在使用上限時,我們可以確保傳入的類型一定是指定范圍內的子類,這樣可以避免一些類型轉換的問題。在使用下限時,我們可以接受任意的 ArrayList 類型作為參數,但是在方法內部只能操作一些基本的父類方法,這樣可以保證代碼的安全性。