Можете ли вы использовать инициализацию массива в расширенном цикле for? - PullRequest
2 голосов
/ 07 апреля 2019

Я пытаюсь улучшить свой стиль кода, написав краткий код.Мне нравится расширенный Java для цикла for, но я все еще нахожу это слишком многословным в следующем сценарии:

int one = 1;
int two = 2;
int three = 3;

int numbers[] = {one, two ,three};
for (int number : numbers) {
    System.out.println(number);
}

Можно ли сделать что-то вроде следующего?

int one = 1;
int two = 2;
int three = 3;

for (int number : {one, two ,three}) {
    System.out.println(number);
}

В общемВ этом случае у меня есть несколько именованных переменных того же класса, которые я хочу перебрать.После этого я больше не использую их массив / список.

1 Ответ

5 голосов
/ 07 апреля 2019

Вы можете написать:

for (int number : new int[] {one, two ,three}) {
    System.out.println(number);
}

Вы также можете использовать List.of(), если используете Java 9 или выше.

for (int number : List.of(one, two ,three)) {
    System.out.println(number);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...