Немного о массивах в Kotlin
Полгода назад я собирался разобраться с массивами в Kotlin. Нельзя сказать, чтобы я разобрался, но у меня появилось несколько замечаний по этому поводу. Возьмем простейший код:
Удобно, что не надо писать оператор new
, очень приятная мелочь.
Не надо писать точек с запятой, и мы как бы не поражены раком точки с запятой.
Тип массива выводится из возвращаемого значения функции инициализатора.
Это очень классно придумано, не будет значений заполненных мусором.
И не надо писать тип массива, он итак понятен, а значит, если я захочу поменять тим мне достаточно вы выражении возвращать другое значение.
В этом примере еще более удобном менять тип массива, потому что и for
и println
принимают любые значения.
Я посмотрел во что это все превращается и сделал генерацию байткода и декомпиляцию:
Тут видно что используется Java массив String[]
.
Если поменять инициализатор на возвращение Int
то будет использоваться Integer[]
.
Для того, чтобы работал int[]
надо использовать IntArray
.
Подводя итог, кажется что можно очень кратко писать и получать производительный код.