Новый for
-Каждая конструкция для перебора массивов и коллекции является самой большой для меня.
В эти дни, когда я когда-либо увидеть шаблонный for
цикл для перебора массива один за другим с помощью индексной переменной, это заставляет меня хотеть кричать:
// AGGHHH!!!
int[] array = new int[] {0, 1, 2, 3, 4};
for (int i = 0; i < array.length; i++)
{
// Do something...
}
Замена выше с for
construct introduced in Java 5 :
// Nice and clean.
int[] array = new int[] {0, 1, 2, 3, 4};
for (int n : array)
{
// Do something...
}
Чистый, краткий, и лучше всего, это дает смысл к коду, а не показывая как сделать что-нибудь г.
Очевидно, что код имеет смысл перебирать по коллекции, а не старый цикл for
, говорящий о том, как перебирать массив.
Кроме того, поскольку каждый элемент обрабатывается независимо от других элементов, он может обеспечить будущую оптимизацию для параллельной обработки без необходимости внесения изменений в код. (Просто спекуляция, конечно.)
В основе механизма нового цикла for по-прежнему создается итератор, вам просто не нужно выписывать для него шаблонный код. – 2008-11-03 16:18:13
Я как раз собирался сказать, что, sk – i3ensays 2008-11-03 16:26:43
да, но дело в том, что в вашем коде вам НЕ нужно писать его, и это хорошая функция для новых версий Java. Просто потому, что на заднем плане ничего не изменилось, это не значит, что это не очень хорошая функция. – Elie 2008-11-03 16:59:04