答案: Java 中的泛型方法允許程式碼與多種類型相容。定義: 使用尖括號 <T> 指定參數和傳回值的型別資訊。使用: 可用於操作不同類型的集合和比較不同類型的物件。受限型別參數: 透過 extends 關鍵字指定型別受限於某個型別。實戰: 泛型方法適用於建立通用的排序演算法,例如快速排序。
Java 泛型方法的定義與使用技巧
簡介
泛型方法允許你編寫在多種類型上都能工作的程式碼,從而提高了程式碼的可重複使用性和靈活性。
定義泛型方法
要定義泛型方法,請在方法名稱後面使用尖括號<> 指定型別參數:
public static <T> void swap(T[] array, int i, int j) { T temp = array[i]; array[i] = array[j]; array[j] = temp; }
在這個範例中,<T>
表示方法的參數和傳回值的型別資訊未知。
泛型方法的使用
可以使用泛型方法來運算不同型別的集合:
Integer[] numbers = {1, 2, 3}; swap(numbers, 0, 2); // 交换数字 1 和 3
同樣,也可以用泛型方法來比較不同類型的物件:
public static <T extends Comparable<T>> int compare(T a, T b) { return a.compareTo(b); } int result = compare("Hello", "World"); // 比较字符串
使用Bounded類型參數
#你可以使用extends關鍵字來指定泛型類型參數受某種類型的約束:
public static <T extends Number> double sum(T[] array) { double total = 0.0; for (T element : array) { total += element.doubleValue(); } return total; } double sum = sum(new Integer[]{1, 2, 3}); // 求整数和
實戰案例:排序演算法
泛型方法非常適合建立通用的排序演算法,例如快速排序:
public static <T extends Comparable<T>> void quickSort(T[] array) { // 略... } // 排序整数数组 int[] numbers = {2, 5, 1, 7, 3}; quickSort(numbers); // 排序字符串数组 String[] strings = {"Hello", "World", "Java"}; quickSort(strings);
以上是Java 泛型方法的定義與使用技巧的詳細內容。更多資訊請關注PHP中文網其他相關文章!