我有这个
int [] abc = new int[30];
Object arr = abc;
Run Code Online (Sandbox Code Playgroud)
我如何施展arr回int[]?即
int [] foo = (int[])arr
Run Code Online (Sandbox Code Playgroud)
另外,如果arr可以指向int[]或者byte[],如何区分它们?
我检查arr.getClass().getName()的回报[I 和arr.getClass().isPrimitive()为false.必须是另一种检测它的方法吗?
谢谢.
PS.我必须在我的数组中使用原始类型.
铸造是正确的,(int[])arr诀窍.
如果需要,可以通过比较类对象来识别类型:
if(arr.getClasS() == int[].class) {
...
}
Run Code Online (Sandbox Code Playgroud)
或更好
if(arr instanceof int[]) {
...
}
Run Code Online (Sandbox Code Playgroud)
在[I类名是另一种方式,但在代码不太清楚.你也可以做arr.getClass().getComponentType(),应该回来int.class.
| 归档时间: |
|
| 查看次数: |
3546 次 |
| 最近记录: |