Sie können das Array direkt in modernem Java ohne Initialisierer schreiben. Ihr Beispiel ist jetzt gültig. Es ist im Allgemeinen am besten, den Parameter trotzdem zu benennen.
String[] array = {"blah", "hey", "yo"};
oder
int[] array = {1, 2, 3};
Wenn Sie haben , um inline, müssen Sie die Art erklären:
functionCall(new String[]{"blah", "hey", "yo"});
oder benutze varargs (variable Argumente)
void functionCall(String...stringArray) {
// Becomes a String[] containing any number of items or empty
}
functionCall("blah", "hey", "yo");
Hoffentlich Java-Entwickler werden implizite Initialisierung im erlauben Zukunft
Update: Kotlin Antwort
Kotlin hat die Arbeit mit Arrays so viel einfacher gemacht! Verwenden arrayOf
Sie für die meisten Typen einfach und es wird implizit der Typ bestimmt. Gib nichts, um sie leer zu lassen.
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
Grundelemente haben Dienstprogrammfunktionen. Gib nichts, um sie leer zu lassen.
intArrayOf(1, 2, 3)
charArrayOf()
booleanArrayOf()
longArrayOf()
shortArrayOf()
byteArrayOf()
Wenn Sie bereits eine haben Collection
und diese in ein Inline-Array konvertieren möchten, verwenden Sie einfach:
collection.toTypedArray()
Wenn Sie einen Array-Typ erzwingen müssen, verwenden Sie:
array.toIntArray()
array.toLongArray()
array.toCharArray()
...