第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將Object數(shù)組轉(zhuǎn)換為Integer數(shù)組錯誤

將Object數(shù)組轉(zhuǎn)換為Integer數(shù)組錯誤

慕慕森 2019-08-17 16:38:13
將Object數(shù)組轉(zhuǎn)換為Integer數(shù)組錯誤以下代碼有什么問題?Object[] a = new Object[1];Integer b=1;a[0]=b;Integer[] c = (Integer[]) a;代碼在最后一行有以下錯誤:線程“main”中的異常java.lang.ClassCastException:[Ljava.lang.Object; 無法轉(zhuǎn)換為[Ljava.lang.Integer;
查看完整描述

3 回答

?
慕村225694

TA貢獻(xiàn)1880條經(jīng)驗(yàn) 獲得超4個贊

Ross,你也可以使用Arrays.copyof()或Arrays.copyOfRange()。


Integer[] integerArray = Arrays.copyOf(a, a.length, Integer[].class);

Integer[] integerArray = Arrays.copyOfRange(a, 0, a.length, Integer[].class);

這里擊中的原因ClassCastException是你不能將數(shù)組Integer視為數(shù)組Object。Integer[]是一個子類型Object[]但Object[]不是Integer[]。


以下也不會給出一個ClassCastException。


Object[] a = new Integer[1];

Integer b=1;

a[0]=b;

Integer[] c = (Integer[]) a;


查看完整回答
反對 回復(fù) 2019-08-17
?
繁星coding

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超4個贊

您無法將Object數(shù)組轉(zhuǎn)換為Integer數(shù)組。你必須循環(huán)遍歷a的所有元素并單獨(dú)拋出每個元素。

Object[] a = new Object[1];Integer b=1;a[0]=b;Integer[] c = new Integer[a.length];for(int i = 0; i < a.length; i++){
    c[i] = (Integer) a[i];}

編輯:我相信這個限制背后的基本原理是,在進(jìn)行轉(zhuǎn)換時,JVM希望在運(yùn)行時確保類型安全。由于數(shù)組Objects可以是任何其他內(nèi)容Integers,因此JVM必須執(zhí)行上述代碼正在執(zhí)行的操作(單獨(dú)查看每個元素)。語言設(shè)計(jì)者決定他們不希望JVM這樣做(我不確定為什么,但我確定這是一個很好的理由)。

但是,您可以施放亞型陣列到陣列父(例如Integer[]Object[])!


查看完整回答
反對 回復(fù) 2019-08-17
?
叮當(dāng)貓咪

TA貢獻(xiàn)1776條經(jīng)驗(yàn) 獲得超12個贊

或者執(zhí)行以下操作:

...

  Integer[] integerArray = new Integer[integerList.size()];
  integerList.toArray(integerArray);

  return integerArray;}


查看完整回答
反對 回復(fù) 2019-08-17
  • 3 回答
  • 0 關(guān)注
  • 1443 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號