【发布时间】:2019-07-10 04:46:51
【问题描述】:
我刚刚处于学习 Kotlin 的早期阶段,所以我播放了一段视频,展示了许多常见的 Kotlin 习语:Kotlin tutorial
就在视频中的 1:03:10 点,演示者讨论了可变集合和不可变集合。正如您在视频中看到的那样,他使用 var 关键字创建了一个 MutableList,并使用 val 关键字创建了一个不可变的 List。我很想知道如果我尝试将 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
【问题讨论】:
标签: kotlin