Кэширование длины не полезно.Вы получаете доступ к полю напрямую.И даже если бы это был метод, JIT включил бы и оптимизировал бы его.
Если бы что-то было оптимизировано, System.arraycopy
содержало бы оптимизацию.
Но реальный ответ - то, что этоне имеет значения вообще.Вы не получите значительного прироста производительности, выбрав наиболее подходящий способ копирования массива из 10 элементов или менее.Если у вас есть проблема с производительностью, то найдите, откуда она берется, измерив, а затем оптимизируйте то, что должно быть оптимизировано.В остальном, используйте то, что является наиболее читабельным и обслуживаемым.То, что вы делаете, это преждевременная оптимизация.И это корень всего зла (говорит Д. Кнут).