這里類型使用Object和泛型什么差別?
public static Object expend(Object arr) {
?? ??? ?// 反射創(chuàng)建數(shù)組的方式
?? ??? ?// 1.獲取原數(shù)組長度
?? ??? ?int oldLen = Array.getLength(arr);
?? ??? ?int newLen = (int) (oldLen * 1.5);
?? ??? ?// 2.獲取原數(shù)組的組件類型
?? ??? ?Class<?> type = arr.getClass().getComponentType();
?? ??? ?// 3.創(chuàng)建新的數(shù)組
?? ??? ?Object newArr = Array.newInstance(type, newLen);
?? ??? ?// 4.將原數(shù)組中的元素一一設置到新數(shù)組中
?? ??? ?for (int i = 0; i < oldLen; i++) {
?? ??? ??? ?// 根據(jù)指定下標來獲取元素
?? ??? ??? ?Object oo = Array.get(arr, i);
?? ??? ??? ?// 設置到新數(shù)組中
?? ??? ??? ?Array.set(newArr, i, oo);
?? ??? ?}
?? ??? ?return newArr;
?? ?}
2015-12-16
Java 泛型的參數(shù)只可以代表類,不能代表個別對象。由于 Java 泛型的類型參數(shù)之實際類型在編譯時會被消除,所以無法在運行時得知其類型參數(shù)的類型。Java 編譯器在編譯泛型時會自動加入類型轉(zhuǎn)換的編碼,故運行速度不會因為使用泛型而泛型約束加快。Java 允許對個別泛型的類型參數(shù)進行約束,包括以下兩種形式(假設 T 是泛型的類型參數(shù),C 是一般類、泛類,或是泛型的類型參數(shù)):T 實現(xiàn)接口 I 。T 是 C ,或繼承自 C 。一個泛型類不能實現(xiàn)Throwable接口。