Ben Chuanlong Du's Blog

It is never too late to learn.

Array in Kotlin

Comments

  1. An array in Java is not an Iterable (due to design reasons). There is no super class of array and Iterable either in Java. If you want a method to support both array and Iterable as the parameter, you need to overload it (for both array and Iterable.) It is the same situation in Kotlin as Kotlin is mostly Java.

IntArray vs Array in Kotlin

Array is an Integer[] under the hood while IntArray is an int[].

In [1]:
IntArray(5)
Out[1]:
[0, 0, 0, 0, 0]
In [2]:
IntArray(5, {
    i: Int -> i
})
Out[2]:
[0, 1, 2, 3, 4]
In [1]:
intArrayOf(10, 20, 30)
Out[1]:
[10, 20, 30]

Array is NOT Iterable!

Array in Kotlin is not Iterable (similar to that in Java). However, you can call the asIterable to make convert it to an Iterable object. Or you can return a List object by calling the method toList.

In [ ]:

Comments