在Java中,数组可以这样初始化:
int numbers[] = new int[] {10, 20, 30, 40, 50}
Kotlin的数组初始化是怎样的?
在Java中,数组可以这样初始化:
int numbers[] = new int[] {10, 20, 30, 40, 50}
Kotlin的数组初始化是怎样的?
当前回答
初始化数组:val paramValueList: array <String?> = arrayOfNulls<String>(5)
其他回答
在Kotlin中,我们可以使用arrayOf(), intArrayOf(), charArrayOf(), booleanArrayOf(), longArrayOf()函数来创建数组。
例如:
var Arr1 = arrayOf(1,10,4,6,15)
var Arr2 = arrayOf<Int>(1,10,4,6,15)
var Arr3 = arrayOf<String>("Surat","Mumbai","Rajkot")
var Arr4 = arrayOf(1,10,4, "Ajay","Prakesh")
var Arr5: IntArray = intArrayOf(5,10,15,20)
老问题了,但如果你想使用一个范围:
var numbers: IntArray = IntRange(10, 50).step(10).toList().toIntArray()
产生几乎相同的结果:
var numbers = Array(5, { i -> i*10 + 10 })
结果:10,20,30,40,50
我认为第一个选项更有可读性。这两个工作。
简单的方法:
整数:
var number = arrayOf< Int> (10,20,30,40,50)
保持所有数据类型
var number = arrayOf(10, "string value", 10.5)
通过这种方式,可以在koltin中初始化int数组。
val values: IntArray = intArrayOf(1, 2, 3, 4, 5,6,7)
你可以简单地使用现有的标准库方法,如下所示:
val numbers = intArrayOf(10, 20, 30, 40, 50)
使用一个特殊的构造函数可能是有意义的:
val numbers2 = IntArray(5) { (it + 1) * 10 }
你传递一个大小和一个lambda来描述如何初始化这些值。以下是文档:
/**
* Creates a new array of the specified [size], where each element is calculated by calling the specified
* [init] function. The [init] function returns an array element given its index.
*/
public inline constructor(size: Int, init: (Int) -> Int)