Различные подходы в вашем случае, скорее всего, не приведут к разнице в производительности.
Причина: оптимизация.Java не будет создавать новые классы и будет использовать прямой доступ к полям.Он может (и будет, если анализ предложит это) даже пропустить целую цепочку вызовов и заменить ее предварительно рассчитанным значением.Во время выполнения Java даже используется профилировщик для оптимизации и поиска горячих точек ...
Кроме того: Что касается производительности, в целом (в отдельных случаях это может отличаться) более важно создать простую структуру и помочь среде выполнения сделать правильные предположения.,Так что, если вы скрываете то, что делаете, в обычной «оптимизации» вручную, которая скрывает возможности оптимизации (множество веток / решений, ненужное закрепление, цепочка «неизвестных» методов ...) от времени выполнения, вы можете получить более медленный результат..
Для ясности и побочных эффектов (см. Также другой ответ) Я скорее использую версию, которая создает новые экземпляры.