Вопрос

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

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

Это было полезно?

Решение

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top