Java:转换原始类

标签 java reflection class casting

在 Java 中是否可以轻松地将原始类对象转换为对象类对象?给定一个类 Class cl,我想将其转换为没有原语的类。例如。

Class<?> cl = int.class;

...
if (cl.isPrimitive()) {
  cl = Object of primitive
}
...

cl == Integer.class

我想要一种对所有原始类型都执行此操作的方法。显然我可以遍历所有原始类型,但我认为有人可能知道更好的解决方案。

干杯, 最大

最佳答案

希望我理解正确。基本上你想要一个从原始类类型到它们的包装方法的映射。

在某个 Utility 类中实现的静态实用程序方法将是一个优雅的解决方案,因为您可以像这样使用转换:

Class<?> wrapper = convertToWrapper(int.class);

或者,声明并填充静态 map :

public final static Map<Class<?>, Class<?>> map = new HashMap<Class<?>, Class<?>>();
static {
    map.put(boolean.class, Boolean.class);
    map.put(byte.class, Byte.class);
    map.put(short.class, Short.class);
    map.put(char.class, Character.class);
    map.put(int.class, Integer.class);
    map.put(long.class, Long.class);
    map.put(float.class, Float.class);
    map.put(double.class, Double.class);
}

private Class<?> clazz = map.get(int.class);  // usage

关于Java:转换原始类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3473756/

相关文章:

java - pact-jvm 手动创建pact

c# - 查明枚举是否设置了 "Flags"属性

java - 为什么wait()方法可以在没有notify()的情况下工作?

Java 9 webstart JNLP服务产生IllegalAccess

python - 如何在 python 类中访问成员函数作为成员变量?

class - 类初始化中的可选参数

javascript - session 奇怪地返回 null

java - 为 Java 初学者复制字符串 n 次

java - 获取 Java 中的通用列表 <?> 对象的值

java - 在 JAVA 中无需 Web 浏览器即可验证 Google Analytics