Как работает Java для кода цикла, сгенерированного компилятором?
Например, если у меня есть:
for(String s : getStringArray() )
{
//do something with s
}
где getStringArray ()
- это функция, которая возвращает массив, на котором я хочу выполнить цикл, будет ли функция вызываться всегда или только один раз? Насколько оптимален код для циклического использования этой конструкции в целом?
Компилятор может вызвать его только один раз, но вы можете от него зависеть. Возможно, это не лучшая практика кодирования.
Если getStringArray ()
каждый раз возвращает один и тот же массив, почему бы не установить сначала переменную?
РЕДАКТИРОВАТЬ - ответ изменен вместе с полученными комментариями.