Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基本类型类(java)_Java - Fatal编程技术网

基本类型类(java)

基本类型类(java),java,Java,我想得到一个与对象数组中的类相对应的类数组。我写了这段代码: Object[] parameters = new Object[]{...}; Class[] classes = new Class[parameters.length]; for(int i = 0; i < parameters.length; i++){ classes[i] = parameters[i].getClass(); } Object[]参数=新对象[]{…}; Class[]classes=新类

我想得到一个与对象数组中的类相对应的类数组。我写了这段代码:

Object[] parameters = new Object[]{...};

Class[] classes = new Class[parameters.length];
for(int i = 0; i < parameters.length; i++){
  classes[i] = parameters[i].getClass();
}
Object[]参数=新对象[]{…};
Class[]classes=新类[parameters.length];
对于(int i=0;i
但是,我需要将诸如int或float之类的基本类型写成float.class或int.class
可以,但我得到的是java.lang.Float或java.lang.Integrer。有什么我可以做的吗?

一个
对象[]
永远不能直接包含基元类型。它只能包含包装类型
Integer
/
Float
/

这就是为什么代码中的
classes[i]
永远不会包含
int.class


请注意,
Object[]
可以包含
int[]
,而
int
又可以包含
int
值(并且只包含
int
值),但这似乎不是您想要的。

不是真的,但谢谢。我确实需要它来进行反射。
对象[]
中的值永远不能是基元类型。仅
浮点
/
整数
/。。。如果发生这种情况,则无法获得
浮点值
/
int
/。。。这里。@Progman:他们希望
int.class
parameters[i].getClass()
返回(其中
parameters
是一个
对象[]
)。这显然永远不会发生,因为
对象[]
不能保存基元值。有没有办法从包装器类型中获取基元类型?@xImperiak:不幸的是,在JDK中没有一行解决方案可以提供这一点,这就是为什么。