Есть ли быстрый способ создать строку [] в одной строке?
Ответ 1
bar.setArray(new String[] { "foo" });
Я считаю, что этот формат требуется, потому что Java не хочет подразумевать тип массива. С форматом инициализации массива тип явно определяется назначенным типом переменной. Inline, тип массива не может быть выведен.
Ответ 2
Как говорили другие:
bar.setArray(new String[] {"foo"});
В J2SE 5.0 планировалось избавиться от new String[], но вместо этого у нас есть varargs. С помощью varargs вы можете слегка изменить объявление setArray для использования ... вместо [] и вывести new String[] { }.
public final class Bar {
public void setArray(String... array) {
[...]
}
[...]
bar.setArray("foo");
Ответ 3
Вы должны использовать это:
bar.setArray(новая строка [] { "foo" });
Ответ 4
К сожалению, наиболее близким к тому, что Java подходит для встроенных массивов, является new String[]{"foo", "bar"}, однако есть опрятный трюк, который позволяет вам делать что-то вроде
array("foo", "bar") с автоматически определяемым типом.
Я работал над полезным API для расширения языка Java, чтобы разрешать встроенные массивы и типы коллекций. Для получения дополнительной информации google project Espresso4J или ознакомьтесь с ней здесь