for(String s : someString.split("\\s+")){
//do something
}
Выполняет ли java метод split() каждый раз, когда цикл выполняет итерацию, или он делает это только один раз и сохраняет временный массив для итерации?
Ответ 1
Он делает это только один раз и использует этот массив и взаимодействует через него.
Он сохраняет массив во временной переменной перед его использованием.
Ответ 3
Нет разделения выполняется один раз в строке и после этого цикл итерации по результату
Ответ 4
Метод split вызывается только один раз. Подумайте о структуре (также известной как для каждого) следующим образом:
Второй аргумент оценивается и сохраняется на время цикла.
Если аргумент дает Iterable или представляет собой массив (специальный случай), тогда делается проверка, чтобы увидеть, соответствует ли тип первого аргумента возвращаемым элементам.
Процесс входит в цикл и выполняет код внутри области действия и выходит, когда осталось больше элементов.