Приведение примитива int к числу - PullRequest
3 голосов
/ 17 марта 2010

Допустим, у меня есть следующее:

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 создание Integer из примитива int, а затем приведение к суперклассу? Как именно Java справляется с этим за кулисами? Спасибо!

1 Ответ

3 голосов
/ 17 марта 2010

Процесс называется autoboxing . Короче говоря, компилятор видит, что требуется обертка (Integer), а не примитив (int), и автоматически добавляет преобразование. И на самом деле ваше приведение к Number не обязательно.

...