Ви можете безпосередньо записати масив на сучасній Java, без ініціалізатора. Ваш приклад тепер дійсний. Як правило, найкраще все-таки назвати параметр.
String[] array = {"blah", "hey", "yo"};
або
int[] array = {1, 2, 3};
Якщо вам доведеться вбудувати рядки, вам потрібно буде оголосити тип:
functionCall(new String[]{"blah", "hey", "yo"});
або використовувати varargs (змінні аргументи)
void functionCall(String...stringArray) {
// Becomes a String[] containing any number of items or empty
}
functionCall("blah", "hey", "yo");
Сподіваємось, розробники Java дозволять неявну ініціалізацію в майбутньому
Оновлення: Відповідь Котліна
Котлін значно спростив роботу з масивами ! Для більшості типів просто використовуйте, arrayOf
і це неявно визначатиме тип. Не пропустіть нічого, щоб залишити їх порожніми.
arrayOf("1", "2", "3") // String
arrayOf(1, 2, 3) // Int
arrayOf(1, 2, "foo") // Any
arrayOf<Int>(1, 2, 3) // Set explict type
arrayOf<String>() // Empty String array
Примітиви мають корисні функції. Не пропустіть нічого, щоб залишити їх порожніми.
intArrayOf(1, 2, 3)
charArrayOf()
booleanArrayOf()
longArrayOf()
shortArrayOf()
byteArrayOf()
Якщо у вас вже є Collection
і хочете перетворити його в масив вбудований, просто використовуйте:
collection.toTypedArray()
Якщо вам потрібно примусити тип масиву, використовуйте:
array.toIntArray()
array.toLongArray()
array.toCharArray()
...