Распаковка - как это становится лучшим способом явно использовать intValue() по сравнению с распаковкой отдельно

Я читал карманный справочник O'REILLY Java8, когда наткнулся на этот совет о распаковке [На странице 30]

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

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

Установить весовой допуск

weightLimitP = weightLimitP + weightAllowanceW;

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

weightLimitP = weightLimitP + weightAllowanceW.intValue();

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

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

2 ответа

Решение

Эти два фрагмента кода сгенерируют точно такой же байт-код. Так что "лучше" - это вопрос стиля и, следовательно, мнения.

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

Это к пословице, что код читается чаще, чем написано.

Другие вопросы по тегам