在Java中,数组可以初始化,如下所示:
int numbers[] = new int[] {10, 20, 30, 40, 50}
Kotlin的数组初始化是什么样子的?
发布于 2015-07-12 17:26:06
val numbers: IntArray = intArrayOf(10, 20, 30, 40, 50)
详情请参见Kotlin - Basic Types。
您还可以提供一个初始化器函数作为第二个参数:
val numbers = IntArray(5) { 10 * (it + 1) }
// [10, 20, 30, 40, 50]
发布于 2016-09-28 22:59:23
值得一提的是,当使用kotlin builtines (例如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 }
发布于 2017-06-10 17:23:22
在Kotlin中,有几种方法。
var arr = IntArray(size) // construct with only size
然后,只需从用户或其他集合或您想要的任何位置获取初始值。
var arr = IntArray(size){0} // construct with size and fill array with 0
var arr = IntArray(size){it} // construct with size and fill with its index
我们也可以用内置函数创建数组,比如-
var arr = intArrayOf(1, 2, 3, 4, 5) // create an array with 5 values
另一种方式
var arr = Array(size){0} // it will create an integer array
var arr = Array<String>(size){"$it"} // this will create array with "0", "1", "2" and so on.
您也可以使用doubleArrayOf()
或DoubleArray()
或任何基元类型来代替Int。
https://stackoverflow.com/questions/31366229
复制相似问题