Как инициализировать каждый элемент массива определенным значением при объявлении? - PullRequest
1 голос
/ 31 декабря 2010

Я хочу создать массив int с 999 элементами, каждый из которых имеет значение 999. Есть ли способ инициализировать массив int во время объявления вместо итерации по каждому элементу и установки его значения в 999?

Ответы [ 3 ]

5 голосов
/ 31 декабря 2010

Если массив был маленьким, например, только 3 предмета, вы можете сделать следующее:

int[] ints = { 999, 999, 999 };

Но если оно растет и вы не хотите повторяться , тогда лучше используйте Arrays#fill(). Он скрывает петлю for для вас.

int[] ints = new int[999];
Arrays.fill(ints, 999);
2 голосов
/ 31 декабря 2010

Конечно, это:

int[] tab = {999, 999, 999, 999, 999, 999, 999, 999, 999, 999, ... };

Вы просто должны набрать 999 для нужного количества элементов, в данном случае 999 раз)

2 голосов
/ 31 декабря 2010

Это невозможно, как вы просите, однако вы можете использовать Arrays.fill() для его заполнения и использовать блок инициализатора для вызова этого метода:

class MyClass {
    private int [] myInts = new int[999];

    {
        Arrays.fill(myInts, 999);
    }

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