This question already has answers here:
Simple way to get wrapper class type in Java
(8个答案)
4年前关闭。
Java中是否有一种简单的方法可以将原始类对象转换为对象类对象?给定一个类Class cl,我想将其转换为没有基元的Class。例如。
cl == Integer.class
我想要一个对所有原始类型都可以做到的方法。显然,我可以遍历所有原始类型,但是我认为有人可能知道更好的解决方案。
干杯,
最高
或者,声明并填充静态映射:
(8个答案)
4年前关闭。
Java中是否有一种简单的方法可以将原始类对象转换为对象类对象?给定一个类Class cl,我想将其转换为没有基元的Class。例如。
Class<?> cl = int.class;
...
if (cl.isPrimitive()) {
cl = Object of primitive
}
...
cl == Integer.class
我想要一个对所有原始类型都可以做到的方法。显然,我可以遍历所有原始类型,但是我认为有人可能知道更好的解决方案。
干杯,
最高
最佳答案
希望我理解正确。基本上,您需要从原始类类型到其包装器方法的映射。
在某些Utility类中实现的静态实用程序方法将是一个很好的解决方案,因为您将使用如下转换:
Class<?> wrapper = convertToWrapper(int.class);
或者,声明并填充静态映射:
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
09-18 01:49