首页 > 解决方案 > 原始类型类 (java)

问题描述

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

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

Class[] classes = new Class[parameters.length];
for(int i = 0; i < parameters.length; i++){
  classes[i] = parameters[i].getClass();
}

但是,我需要原始类型,例如 int 或 float writen,因为float.classint.class 可以,但我得到的是java.lang.Floatjava.lang.Integrer。有什么我可以做的吗?

标签: java

解决方案


AnObject[]永远不能直接包含原始类型。它只能包含包装类型Integer// Float...

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

请注意, anObject[] 可以包含 an int[]which 反过来可以包含int值(并且仅包含int值),但这似乎不是您要查找的内容。


推荐阅读