Разработчик из команды Runtastic пишет серию статей про устройство коллекций в Kotlin.
Первая статья про списки — сравниваем реализации, копаемся в байткоде и узнаём две вещи:
- Неизменяемые коллекции из Kotlin (List, EmptyList) могут быть неизменяемыми со стороны Java. Они выкидывают UnsupportedOperationException, если вызвать метод-мутатор из Java-кода. Это едиственный способ гарантировать immutability, если в проекте используются оба языка.
- Коллекции из Java (ArrayList) всегда изменяемы со стороны Kotlin.
https://www.runtastic.com/blog/en/tech/kotlin-collections-inside-part-1
Первая статья про списки — сравниваем реализации, копаемся в байткоде и узнаём две вещи:
- Неизменяемые коллекции из Kotlin (List, EmptyList) могут быть неизменяемыми со стороны Java. Они выкидывают UnsupportedOperationException, если вызвать метод-мутатор из Java-кода. Это едиственный способ гарантировать immutability, если в проекте используются оба языка.
- Коллекции из Java (ArrayList) всегда изменяемы со стороны Kotlin.
https://www.runtastic.com/blog/en/tech/kotlin-collections-inside-part-1