【发布时间】:2021-09-15 15:21:40
【问题描述】:
我有 2 个可变列表
val line = mutableListOf<String>()
val minesField = mutableListOf<MutableList<String>>()
这两个列表的目的是创建一个由 X 和 0 (9*9) 组成的目录。
我有一个创建line 内容的函数,最后我将它添加到minesField 可变列表中。
我尝试以多种方式添加它,但都以相同的结果结束。
minesField.add(line)
minesField += line
minesField.addAll(listOf(line))
发生的情况是我添加到minesField 的最后一个line 将自身复制到之前添加的所有行/列表中。因此,最后,我得到了一个包含 9 个重复行的表格,直到我添加的最后一行。
我认为这不应该发生,因为函数 += .add() 仅为新添加的列表/行创建了一个新索引。它不会在整个列表中重复它...
如何解决?
【问题讨论】:
-
你是为每一行创建一个新的可变列表还是只重用现有的列表(例如
clear)`? -
每次我进入创建行的循环,我都会从中清除以前的数据并重新开始......
-
您能否分享添加这些行的整个代码? (带循环)
-
@Joffrey 好吧,这不是问题,因为它是关于将对象复制到
minesfiled而不是按原样添加它......
标签: kotlin