Vous pouvez directement écrire le tableau en Java moderne, sans initialiseur. Votre exemple est maintenant valide. Il est généralement préférable de nommer le paramètre de toute façon.
String[] array = {"blah", "hey", "yo"};
ou
int[] array = {1, 2, 3};
Si vous devez vous aligner, vous devrez déclarer le type:
functionCall(new String[]{"blah", "hey", "yo"});
ou utilisez des varargs (arguments variables)
void functionCall(String...stringArray) {
// Becomes a String[] containing any number of items or empty
}
functionCall("blah", "hey", "yo");
Espérons que les développeurs de Java permettront l'initialisation implicite à l' avenir
Mise à jour: réponse Kotlin
Kotlin a rendu le travail avec les tableaux tellement plus facile! Pour la plupart des types, utilisez simplement arrayOf
et cela déterminera implicitement le type. Ne passez rien pour les laisser vides.
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
Les primitives ont des fonctions utilitaires. Ne passez rien pour les laisser vides.
intArrayOf(1, 2, 3)
charArrayOf()
booleanArrayOf()
longArrayOf()
shortArrayOf()
byteArrayOf()
Si vous en avez déjà un Collection
et que vous souhaitez le convertir en tableau en ligne, utilisez simplement:
collection.toTypedArray()
Si vous devez contraindre un type de tableau, utilisez:
array.toIntArray()
array.toLongArray()
array.toCharArray()
...