今天在调试应用程序期间,我在<ArrayList<ArrayList<ArrayList<Float>>>
中发现了一个问题。
我的目标是制作该ArrayList的完整副本,因为现在当我在ArrayList的副本中进行某些更改时,它也对原始ArrayList进行了更改。
所以我有这样的东西
var first = ArrayList<ArrayList<ArrayList<Float>>>()
var second = ArrayList<ArrayList<Float>>()
var third = ArrayList<Float>()
for(j in allData) {
first.add(j.clone() as ArrayList<ArrayList<Float>>)
for(k in j)
{
second.add(k.clone() as ArrayList<Float>)
for(l in k)
{
third.add(l.toFloat())
}
}
}
normalizedAllData = first.clone() as ArrayList<ArrayList<ArrayList<Float>>>
normalizedAllData
是<ArrayList<ArrayList<ArrayList<Float>>>
的地方>
我应该如何创建完整副本,以便新的ArrayList不会指向原始的ArrayList?
感谢您的帮助
今天在调试应用程序时,我在
嗯,我将通过以下简单方法解决该问题:
您无需复制Floats
,因为它们是不可变的。