簡體   English   中英

將原始數組轉換為Object並返回

[英]cast primitive array to Object and back

我有這個

int [] abc = new int[30];

Object arr = abc;

我如何將arrint[]

int [] foo = (int[])arr

另外,如果arr可以指向int[]byte[] ,則如何區分它們?

我檢查了arr.getClass().getName()返回[Iarr.getClass().isPrimitive()false 必須是另一種檢測方法?

謝謝。

PS。 我必須在數組中使用基本類型。

強制轉換正確, (int[])arr可以解決問題。

如果需要,可以通過比較類對象來識別類型:

if(arr.getClasS() == int[].class) {
    ...
}

或更好

if(arr instanceof int[]) {
   ...
}

[I類名是另一種方式,但是代碼不太清楚。 您也可以執行arr.getClass().getComponentType() ,它應該返回int.class

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM