[英]cast primitive array to Object and back
我有這個
int [] abc = new int[30];
Object arr = abc;
我如何將arr
回int[]
? 即
int [] foo = (int[])arr
另外,如果arr可以指向int[]
或byte[]
,則如何區分它們?
我檢查了arr.getClass().getName()
返回[I
和arr.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.