在Java中,数组可以这样初始化:

int numbers[] = new int[] {10, 20, 30, 40, 50}

Kotlin的数组初始化是怎样的?


当前回答

这个问题已经有了很好的答案。 这里是一个合并的创建int数组。

创建具有特定值的数组。 var arr = intArrayOf(12,2,21,43,23) var arr = arrayOf<Int>(12,2,21,43,23)

[12, 2, 21, 43, 23]

填充特定元素。这里是1。 var arr = IntArray(5).apply{fill(1)} val arr = IntArray(5){1}

[1, 1, 1, 1, 1]

用小于20的随机数填充大小为5的数组 val arr = IntArray(5) {Random.nextInt(20)}

[0, 2, 18, 3, 12]

根据位置填充数组元素。 这个数组是5的倍数。 val arr = IntArray(5) {i -> (i + 1) * 5}

[5, 10, 15, 20, 25]

其他回答

在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)

通过这种方式,可以在koltin中初始化int数组。

 val values: IntArray = intArrayOf(1, 2, 3, 4, 5,6,7)
val numbers: IntArray = intArrayOf(10, 20, 30, 40, 50)

详见Kotlin -基本类型。

你也可以提供一个初始化函数作为第二个参数:

val numbers = IntArray(5) { 10 * (it + 1) }
// [10, 20, 30, 40, 50]

这里有一个例子:

fun main(args: Array<String>) {
    val arr = arrayOf(1, 2, 3);
    for (item in arr) {
        println(item);
    }
}

您还可以使用游乐场来测试语言特性。

我的回答补充了@maroun,这些是初始化数组的一些方法:

使用数组

val numbers = arrayOf(1,2,3,4,5)

使用严格的数组

val numbers = intArrayOf(1,2,3,4,5)

混合矩阵类型

val numbers = arrayOf(1,2,3.0,4f)

嵌套数组

val numbersInitials = intArrayOf(1,2,3,4,5)
val numbers = arrayOf(numbersInitials, arrayOf(6,7,8,9,10))

能够从动态代码开始

val numbers = Array(5){ it*2}