Я только начинаю изучать Kotlin, поэтому я сыграл видео, которое показывает многие из распространенных идиом Kotlin: Учебник Kotlin
Только в 1:03:10 пунктов в видео, ведущий обсуждает изменчивые и неизменные коллекции.Как вы можете видеть на видео, он создает MutableList с ключевым словом var и неизменный List с ключевым словом val.Мне было любопытно посмотреть, какая ошибка возникнет, если я попытаюсь использовать val с MutableList;Я предполагал, что это будет недопустимо, и что IDEA будет отображать сообщение об этом, но это не дало мне сообщения об ошибке.Затем я добавил элемент в MutableList, и это тоже не вызвало ошибки!Когда я отображал последний элемент MutableList, он отображал элемент, который я добавил, поэтому он не только не смог выдать ошибку, но и успешно добавил элемент к чему-то, что я считал неизменным.
Почему мой код работает?Я не могу поверить, что такой новичок в Kotlin, как я, обнаружил фундаментальную ошибку в Kotlin, поэтому должно быть что-то еще.Может кто-нибудь объяснить?
Вот мой код:
val list3: MutableList<Int> = mutableListOf(6,7,8)
list3.add(5)
println("list3 last item: ${list3.last()}")
Оператор println () отображает:
list3 last item: 5