int[] arr = {1,23,4,6,7};
reverse(arr); // 編譯錯誤
public static void reverse(T[] arr) { ... }
Java 泛型類型擦除後為 Object,但**基本類型數組 (`int[]`, `double[]` 等) 不繼承自 `Object[]`**,而是直接繼承 `Object`。泛型方法簽名 `T[]` 要求參數為**引用類型數組**,基本類型數組不匹配。
Integer[] arr = {1,23,4,6,7}; // 或 new Integer[]{...}
reverse(arr); // 正常
public static void reverse(int[] arr) { ... }
public static void reverse(double[] arr) { ... }
// 八種基本類型各寫一個重載
int[] arr = {1,23,4,6,7};
List list = Arrays.stream(arr).boxed().collect(Collectors.toList());
Collections.reverse(list);
// 或自寫泛型 List 版 reverse
Java 不支持聲明泛型數組 (如 `new T[10]`);更確切地說:**數組的組件類型不能是類型變量**,除非使用通配符 `>`。