我想要一个将类映射到类的函数,例如 int.class -> Integer。
问问题
117 次
2 回答
4
这在原版 JDK 中没有专门提供,但如果您不想自己编写,Guava提供Primitives.wrap(Class)
了采用原始类型并返回相应的包装器类型。
于 2013-02-11T20:26:52.153 回答
1
对于整数:
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 行代码包含外部库)
public Class getClassForPrimitiveType(Class clazz) {
if (clazz == int.class) return Integer.class;
if (clazz == float.class) return Float.class;
// TODO other primitives
}
于 2013-02-11T20:25:22.297 回答