在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,…),并将值更改为相应的默认值。

其他回答

在全局声明int array

var numbers= intArrayOf()

方法用value初始化数组

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    //create your int array here
    numbers= intArrayOf(10,20,30,40,50)
}

您可以使用这些方法

var numbers=Array<Int>(size,init)
var numbers=IntArray(size,init)
var numbers= intArrayOf(1,2,3)

例子

var numbers = Array<Int>(5, { i -> 0 })

Init表示默认值(initialize)

对于二维数组:

val rows = 3
val cols = 3
val value = 0
val array = Array(rows) { Array<Int>(cols) { value } }

您可以将元素类型更改为您想要的任何类型(String, Class,…),并将值更改为相应的默认值。

val numbers: IntArray = intArrayOf(10, 20, 30, 40, 50)

详见Kotlin -基本类型。

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

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

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