Как заполнить массив String пустыми строками?

147
20 апреля 2018, 16:51

Я хочу создать массив String, содержащий несколько пустых строк.

String[] array = {"", "", "", "", ""};

В python мы могли бы достичь этого просто с помощью этого кода [""] * 5
Есть ли что-то подобное для java?

Answer 1

Можно воспользоваться методом Arrays.fill(array, "")

Answer 2

Можно в одну строчку с помощью Collections.nCopies:

String[] array = Collections.nCopies(5, "").toArray(new String[5]);

или с помощью IntStream.range:

String[] array = IntStream.range(0, 5).mapToObj(i-> "").toArray(String[]::new);

По производительности оба варианта будут хуже Arrays.fill т.к. создаются лишние объекты (список и поток).

Еще есть метод ArrayUtils.nullToEmpty, но для него нужно будет подключить библиотеку Apache Commons:

 String[] array = ArrayUtils.nullToEmpty(new String[5]);
READ ALSO
Java MySQL помощь с подключением к БД и таблицей! [требует правки]

Java MySQL помощь с подключением к БД и таблицей! [требует правки]

Всем привет! В общем задача стоит чтобы спроектировать программу для БД! Создать кнопку добавить, изменить, удалить и поиск! В программе я все...

166
Scanner, stream и ооп

Scanner, stream и ооп

Есть класс TestClassЕсли это важно, тесты на junit

143
Функция return в Java

Функция return в Java

Как понять что надо ставить в выражении return? Когда ставить return 0 и все return c другими выражениями? Как определить, что нужно ставить после return...

161