将原始数组转换为Object并返回
我有这个
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
。
- 使用Java与Python的Selenium Webdriver
- 何时使用公共字段可以接受?
- Java的ProcessBuilder在哪里执行命令?
- 获取Java中时区的夏令时转换日期
- Graphics – 如何使用方法create(int x,int y,int width,int height)和translate(int x,int y)?
- 如何连接到远程服务器并使用Ant启动/停止在该特定服务器上运行的Tomcat?
- AspectJ – 使用预编译方面编译Java源代码
- Java sound api – 扫描midi设备
- tomcat7-maven-plugin:运行多个webapps但端口8080已经在使用中