将基元int转换为数字

时间:2010-03-17 19:04:50

标签: java casting primitive

假设我有以下内容:

int a = 2;
Number b = (Number) a;

System.out.println(b); // Prints 2

http://java.sun.com/docs/books/jls/first_edition/html/15.doc.html#238146表示原始值可能不会转换为引用类型。 Java是否知道从原始int创建一个Integer然后转换为超类? Java在幕后如何处理这个问题?谢谢!

1 个答案:

答案 0 :(得分:3)

该过程称为autoboxing。简而言之,编译器看到需要包装器(Integer)而不是原语(int)并自动添加转换。实际上你的演员Number并不是必需的。