Możesz bezpośrednio napisać tablicę we współczesnej Javie, bez inicjatora. Twój przykład jest teraz ważny. Generalnie najlepiej jest mimo to nazwać parametr.
String[] array = {"blah", "hey", "yo"};
lub
int[] array = {1, 2, 3};
Jeśli masz do inline, musisz zadeklarować typ:
functionCall(new String[]{"blah", "hey", "yo"});
lub użyj varargs (zmienne argumenty)
void functionCall(String...stringArray) {
// Becomes a String[] containing any number of items or empty
}
functionCall("blah", "hey", "yo");
Mamy nadzieję, że programiści Javy umożliwią domyślną inicjalizację w przyszłości
Aktualizacja: odpowiedź Kotlin
Kotlin znacznie ułatwił pracę z tablicami ! W przypadku większości typów wystarczy użyć arrayOfi domyślnie określi typ. Podaj nic, aby zostawić je puste.
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
Prymitywy mają funkcje narzędziowe. Podaj nic, aby zostawić je puste.
intArrayOf(1, 2, 3)
charArrayOf()
booleanArrayOf()
longArrayOf()
shortArrayOf()
byteArrayOf()
Jeśli masz już Collectioni chcesz przekonwertować go na wbudowaną tablicę, po prostu użyj:
collection.toTypedArray()
Aby wymusić typ tablicy, użyj:
array.toIntArray()
array.toLongArray()
array.toCharArray()
...