Этот вопрос тесно связан с этим вопросом . Как уже говорилось в комментариях и в ответе на связанный вопрос, автобокс
вызывает метод stati c Integer.valueOf()
, а автоматическая коробка вызова intValue()
для данного объекта Integer
. На самом деле больше ничего нет - это просто syntacti c sugar.
Очевидно, производительность такая же. Однако все немного сложнее, так как этот ответ говорит:
нет никакой гарантии того, как автобокс реализован внутри.
Итак, теоретически, учитывая некоторый компилятор exoti c java, реализация может отличаться, как и производительность. Практически нет причин для реализации автобокс по-другому. Более того, если бы была лучшая реализация, она, вероятно, могла бы быть включена в Integer.valueOf()
. Таким образом, даже в этом случае производительность будет одинаковой.
В Java, как правило, ничего не выиграет от использования альтернативной реализации, выполняющей то же самое. Например, раньше были различия в производительности между Arrays.copyOf
и System.arraycopy
, но AFAIK они были оптимизированы в Oracle / OpenJDK JVM.