Распаковка - как это становится лучшим способом явно использовать intValue() по сравнению с распаковкой отдельно
Я читал карманный справочник O'REILLY Java8, когда наткнулся на этот совет о распаковке [На странице 30]
Примечание. Для этих примеров примитивные переменные заканчиваются заглавными буквами. Это не конвенция.
В следующем примере показано допустимое, но не рекомендуемое использование распаковки
Установить весовой допуск
weightLimitP = weightLimitP + weightAllowanceW;
Лучше написать это выражение с intValue()
метод, как показано здесь:
weightLimitP = weightLimitP + weightAllowanceW.intValue();
Вопрос: что я хотел бы знать здесь, почему второй подход лучше? Я имею в виду, в каких терминах это "лучше". Чем он отличается от распаковки сам по себе
Примечание: класс-оболочка в этом примере Integer
2 ответа
Эти два фрагмента кода сгенерируют точно такой же байт-код. Так что "лучше" - это вопрос стиля и, следовательно, мнения.
Он компилируется в тот же код. Но это может считаться лучшим стилем. Причина: теперь можно сразу увидеть, что может быть вызвано исключение NullPointerException или что это класс-оболочка, и примитивный класс был бы лучше.
Это к пословице, что код читается чаще, чем написано.