这是一个基本类型及其等效包装类的表。
Primitive type Wrapper class
============== =============
boolean Boolean
byte Byte
char Character
float Float
int Integer
long Long
short Short
double Double
我想创建一个方法,将任何给定的原始变量转换为适当的类。我尝试过类似下面的东西,但这显然不起作用。任何帮助将不胜感激:
public static <T> T forceBox(T t) {
switch (T) {
case boolean.class : return new Boolean(t);
case int.class : return new Integer(t);
// etc
}
}
调用者代码如下:
int x = 3;
System.out.println("x wrapper type: " + forceBox(x).getClass());
答案 0 :(得分:2)
虽然在大多数情况下完全没有必要,但只需使用
即可public static <T> T forceBox(T t) { // compiler will add the conversion at the call site
return t;
}
虽然你也可以使用
Object o = <some primitive>;
答案 1 :(得分:0)
转换已在需要时作为boxing process的一部分完成。