Относительно Java для каждого дополнительного объявления переменных - PullRequest
1 голос
/ 16 ноября 2011

в обычном цикле for, мы можем сделать несколько объявлений переменных и ограничить их область действия в цикле

Например: если у меня ArrayList myList

for(int i=0, j=5 ; i <myList.size() ; i++, j--)

теперь я и j ограничены областью действия циклов

Можем ли мы сделать что-то подобное с for-each // ограничить область видимости циклом, а также изменить его значение на каждой итерации

for (Integer value : myList) {
}

Ответы [ 2 ]

0 голосов
/ 16 ноября 2011

По сути, с расширенным циклом for вы привязаны к (скрытой) форме итератора. Поэтому вы не можете хранить область переменных внутри цикла и изменять ее, поскольку вы не можете использовать модификатор static для локальных переменных в java. Лучшее, что вы можете сделать, описано в ответе Кристиана. (Или отступить к основному циклу)

0 голосов
/ 16 ноября 2011
int i = 0;
int j = 5;
for (Integer value : myList) {
  i++; j--;
  // Code
}

вы по-прежнему будете иметь доступ к ним в области за пределами for, но вы не можете инициализировать их внутри for: /

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...