Anda dapat langsung menulis array di Jawa modern, tanpa inisialisasi. Contoh Anda sekarang valid. Biasanya yang terbaik adalah memberi nama parameter.
String[] array = {"blah", "hey", "yo"};
atau
int[] array = {1, 2, 3};
Jika harus inline, Anda harus mendeklarasikan jenisnya:
functionCall(new String[]{"blah", "hey", "yo"});
atau gunakan varargs (argumen variabel)
void functionCall(String...stringArray) {
// Becomes a String[] containing any number of items or empty
}
functionCall("blah", "hey", "yo");
Semoga pengembang Java akan memungkinkan inisialisasi implisit di masa depan
Pembaruan: Jawaban Kotlin
Kotlin telah membuat bekerja dengan array jauh lebih mudah! Untuk sebagian besar tipe, cukup gunakan arrayOf
dan itu akan secara implisit menentukan tipe. Berikan apa-apa agar kosong.
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
Primitif memiliki fungsi utilitas. Berikan apa-apa agar kosong.
intArrayOf(1, 2, 3)
charArrayOf()
booleanArrayOf()
longArrayOf()
shortArrayOf()
byteArrayOf()
Jika Anda sudah memiliki Collection
dan ingin mengubahnya menjadi array inline, cukup gunakan:
collection.toTypedArray()
Jika Anda perlu memaksa jenis array, gunakan:
array.toIntArray()
array.toLongArray()
array.toCharArray()
...