How to initialize an array in Kotlin with values?

前端 未结 20 2128
谎友^
谎友^ 2020-12-22 21:03

In Java an array can be initialized such as:

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

How does Kotlin\'s array initialization look li

20条回答
  •  鱼传尺愫
    2020-12-22 21:32

    Kotlin language has specialised classes for representing arrays of primitive types without boxing overhead: for instance – IntArray, ShortArray, ByteArray, etc. I need to say that these classes have no inheritance relation to the parent Array class, but they have the same set of methods and properties. Each of them also has a corresponding factory function. So, to initialise an array with values in Kotlin you just need to type this:

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

    ...or this way:

    val myArr = Array(5, { i -> ((i+1) * 10) })
    
    myArr.forEach { println(it) }                                // 10, 20, 30, 40, 50
    

    Now you can use it:

    myArr[0] = (myArr[1] + myArr[2]) - myArr[3]
    

提交回复
热议问题