

第一種方法:會拋出一個ClassCastException異常,因為這段代碼返回的是對象數(shù)組(Object[])類型,不能轉(zhuǎn)換成對應(yīng)的數(shù)組類型。因此不提倡使用這種方法
public static Object[] badCopyOf(Object[] a, int newLength) {
// 創(chuàng)建一個新的對象數(shù)組
Object[] newArray = new Object[newLength];
// 拷貝數(shù)組
System.arraycopy(a, 0, newArray, 0, Math.min(a.length, newLength));
return newArray;
}
第二種方法:不需要聲明為對象型數(shù)組,整型數(shù)組 int[]可以被轉(zhuǎn)換成Object ,但是不能轉(zhuǎn)換成對象型數(shù)組
public static Object goodCopyOf(Object a, int newLength) {
// 獲取類對象
Class cl = a.getClass();
// 判斷類的是不是一個數(shù)組對象
if (!cl.isArray())
?return null;
// 獲取類對象的類型
Class componentType = cl.getComponentType();
// 獲取數(shù)組的長度
int length = Array.getLength(a);
Object newArray = Array.newInstance(componentType, newLength);
// 復(fù)制數(shù)組
System.arraycopy(a, 0, newArray, 0, Math.min(length, newLength));
return newArray;
}
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務(wù)器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務(wù)器買多久送多久。
當(dāng)前標(biāo)題:通過java的反射編寫泛型數(shù)組-創(chuàng)新互聯(lián)
分享地址:http://www.chinadenli.net/article48/dcsshp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、標(biāo)簽優(yōu)化、全網(wǎng)營銷推廣、動態(tài)網(wǎng)站、域名注冊、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容