你能举一个例子来说明这个引用:
使用集合接口时要记住的关键是只读集合不一定是不可变的。如果您正在使用具有只读接口类型的变量,则这可能只是对同一集合的众多引用之一。其他引用可以具有可变接口类型
我想编写一个将元素添加到某个集合的函数,同时在有趣的 main() 中创建一个 val someCollection: List <>。我可以通过 var someCollection: List <> = funAdd(someCollection.toMutable) 来做到这一点,但是我可以在不使用变量 var 的情况下这样做吗?
例子
fun addEl(numbers:MutableList<Int>):List<Int>{
for (i in 1..10){
numbers.add(i)
}
return numbers.toList()
}
fun main(args: Array<String>){
var readOnlyNumbers: List<Int> = emptyList()
readOnlyNumbers = addEl(readOnlyNumbers.toMutableList())
println(readOnlyNumbers.size)
}
我可以避免使用 var 和重新分配 readOnlyNumbers 吗?