我想要一个函数将类映射到类,例如int.class - > Integer。如何获得对应于原始类型的引用类型?
回答
这不是专门的香草JDK提供的,但如果你不想鞭打你自己的,Guava提供Primitives.wrap(Class)
,它接受原始类型并返回相应的包装类型。
另外[ClassUtils.primitiveToWrapper(Class)](http://commons.apache.org/lang/api-release/org/apache/commons/lang3/ClassUtils.html #primitiveToWrapper(java.lang.Class))在Apache Commons Lang中也是如此 – Grim 2013-02-11 21:10:18
对于整数:
int.class or the equivalent: Integer.TYPE;
同样为其它基元类型
double.class or Double.TYPE
float.class or Float.TYPE
char.class or Character.TYPE
long.class or Long.TYPE
boolean.class Boolean.TYPE
如下使用它:
Class intClass = int.class;
然后,这是表示基本类型int的类。
有了这些信息,您只需编写自己的映射:(您不想包括8行代码的外部LIB)
public Class getClassForPrimitiveType(Class clazz) {
if (clazz == int.class) return Integer.class;
if (clazz == float.class) return Float.class;
// TODO other primitives
}
这将给出原始类型的类,即'int.class'不''Integer.class' – Alex 2013-02-11 20:30:59
谢谢,更新 – AlexWien 2013-02-11 20:37:05
而不是'Integer.Type',你也可以使用'int.class';对我来说这更清楚,并减少混合它的机会。 – Cephalopod 2013-02-11 20:38:30
- 1. Boost.Any获得原始类型
- 2. 原始类型。引用泛型类型,应参数
- 3. 如何获得原始类型的模型的在Django
- 4. 如何获得类引用泛型类
- 5. typedef - 原始类型到原始类型
- 6. 将原始类型应用到原始类型
- 7. 如何获得对参数化类型的类引用
- 8. OCMockito捕获原始类型?
- 9. 对原始类型双“
- 10. 对象或原始类型
- 11. javascript中的原始数据类型和引用数据类型
- 12. 如何获得类类型
- 13. 如何用Javassist获取原始类型的类?
- 14. Java - 引用原始数据类型?
- 15. 如何从对象类型获得泛型类型
- 16. 对于引用类型
- 17. 整型为原始类型
- 18. 原型中原始类型的行为
- 19. 与原始类型
- 20. Bash原始类型
- 21. 如何应用类型类的索引?
- 22. 如何正确使用原始类型
- 23. 如何使用getMethod()和原始类型?
- 24. SSE数据类型和原始类型
- 25. 对原始类型使用属性
- 26. 关于mybatis的参数类型为原始数据类型?
- 27. 参数对象的类型[类型]不是原始的
- 28. Eclipse警告 - 类是原始类型。引用泛型类型类<T>应该是参数
- 29. 你如何引用Clojure中的原始Java类型?
- 30. 如何获得用于比较的类的类型
你能给我们一个这个目的吗? – 2013-02-11 20:24:50
当然 - 我正在使用反射来修复我从Jython调用的Java API。 API使用Java整型类型,就好像它们是无符号的,例如short的范围为0 - 65535.为此,我需要找到short.MAX_VALUE给定short,以此类推。 – fizzer 2013-02-11 21:20:07
不知道为什么这个关闭。这个问题似乎毫不含糊,答案似乎是正确的。 – fizzer 2013-02-12 19:55:49