2016-06-17 2 views
4

Я читал O'REILLY Java8 карманного путеводитель, когда я наткнулся на этом посоветуйте о распаковке [На странице 30]распаковки - как это делается лучшим способом явно использовать intValue() по сравнению с распаковкой самого по себе

Примечание: для этих примеров примитивные переменные заканчиваются капиталом. Это не конвенция.

В следующем примере показано приемлемое, но не рекомендуется использовать распаковки

установить допустимый вес

weightLimitP = weightLimitP + weightAllowanceW; 

Лучше записать это выражение с помощью метода intValue(), как показано здесь:

weightLimitP = weightLimitP + weightAllowanceW.intValue(); 

Вопрос: Что бы я хотел ike знать, вот почему второй подход лучше? Я имею в виду, в каких условиях это «лучше». Чем она отличается от распаковки самого по себе

Примечание: Класс обертки в этом примере Integer

+0

Несомненно, карманный гид сказал что-то о том, почему автор считает, что он «лучше»? –

+0

nope. Я читаю O'REILLY Java 8 pocket guide - стр. 30 – spiderman

+2

Я бы дважды проверял, был ли я вами. Обычно я ожидаю лучшего от O'Reilly (даже в карманном гиде). –

ответ

1

Этих два фрагмента кода будет генерировать exactly the same bytecode. Так что «лучше» - это чисто вопрос стиля и, таким образом, мнение.

1

Он компилируется по тому же коду. Но это может быть считаться лучшим стилем. Причина: теперь можно сразу увидеть, что исключение NullPointerException может быть поднято или что это класс-оболочка, и примитивный класс будет лучше.

Это сообщение, что код читается чаще, чем написанный.