如何将基本类型的Class对象转换为它的包装器类

时间:2011-10-19 21:29:23

标签: java reflection

我正在使用反射读写对象。我有一个问题,我正在读原始类型;但是想告诉read方法将它们作为包装器读取(所以读取char作为Char)。似乎应该有一个简单的静态方法,我可以调用它,它将采用原始类并返回它的包装器类。所以例如我可以提供char.class并返回Char对象的类。

我知道很难对此进行硬编码,但这看起来很难看;看起来这很普遍,值得Sun包括一个静态帮助方法。我看起来似乎无法找到它,但我仍然觉得很难相信这种方法不存在。有人能指出我的方法名称吗?

感谢。

2 个答案:

答案 0 :(得分:4)

JDK中似乎什么都没有,但是Guava中有Primitives类,它允许你写:

Primitives.wrap(char.class)

获取Character.class

答案 1 :(得分:0)

在JDK的tools.jar中,typeUtils.boxedClass(primitive.type)处理Symbol个对象。我知道这不是你想要的,但是我会把它扔进去参考,以防万一你真正想要它。