在Java中,数组可以这样初始化:
int numbers[] = new int[] {10, 20, 30, 40, 50}
Kotlin的数组初始化是怎样的?
在Java中,数组可以这样初始化:
int numbers[] = new int[] {10, 20, 30, 40, 50}
Kotlin的数组初始化是怎样的?
当前回答
对于二维数组:
val rows = 3
val cols = 3
val value = 0
val array = Array(rows) { Array<Int>(cols) { value } }
您可以将元素类型更改为您想要的任何类型(String, Class,…),并将值更改为相应的默认值。
其他回答
值得一提的是,当使用kotlin内置程序(例如intArrayOf(), longArrayOf(), arrayOf()等)时,对于给定的大小,您不能使用默认值(或所有值为所需值)初始化数组,相反,您需要通过根据类构造函数调用来进行初始化。
// Array of integers of a size of N
val arr = IntArray(N)
// Array of integers of a size of N initialized with a default value of 2
val arr = IntArray(N) { i -> 2 }
这里有一个例子:
fun main(args: Array<String>) {
val arr = arrayOf(1, 2, 3);
for (item in arr) {
println(item);
}
}
您还可以使用游乐场来测试语言特性。
你可以试试这个:
var a = Array<Int>(5){0}
在Java中,数组可以这样初始化:
int numbers[] = new int[] {10, 20, 30, 40, 50}
但是在Kotlin中,数组初始化的方式有很多,比如:
任何泛型类型的数组都可以使用arrayOf()函数:
val arr = arrayOf(10, 20, 30, 40, 50)
val genericArray = arrayOf(10, "Stack", 30.00, 40, "Fifty")
使用Kotlin的实用函数可以初始化数组
val intArray = intArrayOf(10, 20, 30, 40, 50)
对于二维数组:
val rows = 3
val cols = 3
val value = 0
val array = Array(rows) { Array<Int>(cols) { value } }
您可以将元素类型更改为您想要的任何类型(String, Class,…),并将值更改为相应的默认值。