คุณสามารถเขียนอาเรย์ใน Java สมัยใหม่ได้โดยตรงโดยไม่ต้องมี initializer ตัวอย่างของคุณถูกต้องแล้ว เป็นการดีที่สุดที่จะตั้งชื่อพารามิเตอร์ต่อไป
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 จะอนุญาตให้เริ่มต้นโดยนัยในอนาคต
Update: Kotlin คำตอบ
Kotlin ทำให้การทำงานกับอาร์เรย์ง่ายขึ้นมาก! สำหรับประเภทส่วนใหญ่เพียงใช้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()
...