2015-11-19 3 views
1

Я знаю, как делается бокс. Например, когда вы пишете Integer a = 4, вызывается Integer.valueOf(int). Аналогично, могу ли я увидеть код реализации для распаковки?Как сделать unboxing на Java?

Обновление: ответ предлагается в предложенном вопросе.

+0

Как ответ там, так и приведенный здесь объясняют, что unboxing обычно выполняется с помощью 'intValue()' (или соответствующего метода для этого конкретного типа). Он также ссылается на конкретную главу в JLS. Нет ничего другого. –

+0

Связанная JLS указывает на правильную информацию. Но его в комментариях, а не в ответах. Я думаю, что это не должно быть отмечено как дублирующее, или может быть, этот ответ нужно добавить туда. – user2296988

+0

Я не понимаю, чего вы не видите. Он находится прямо в теле [принятого ответа] (http://stackoverflow.com/a/22648696/438154). _ Реверс следующий: 'int n = Integer.valueOf (42);' который становится [...], т.е. Используется 'intValue()'. –

ответ

1

В таких случаях intValue() вызывается для получения примитивного значения.

Integer a= new Integer(4); 
int val = a.intValue(); 

Как и целое число, все классы-оболочки имеют этот метод, чтобы получить его примитивное значение.