我是kotlin的新手,我试图复制一个objects.The列表,我遇到的问题是,当我更改新副本中的项目时,旧列表也会被更改。这就是目标:
class ClassA(var title: String?, var list: ArrayList<ClassB>, var selected: Boolean)
class ClassB(val id: Int, val name: String) 我试过这样做,但没用:
val oldList:ArrayList<ClassA>
val newList :ArrayList<ClassA> = ArrayList()
newList.addAll(oldList)发布于 2020-02-23 20:17:21
Kotlin中没有默认函数来执行此操作。我已经用完Gson了。
public data class Person{
val id = 1
val name = ""
public Person copy(){
String stringPerson = new Gson().toJson(this, Person.class);
return new Gson().fromJson(stringPerson, Person.class);
}
}
val persone = Person()
persone.id = 1
person.name = "ABC"
val originalList = ArrayList()
list1.add(persone)
val copiedList = originalList.map{it.copy()}
list2.get(0).name = "DEF"它不会更新originaList。更改将只反映在copiedList中。
https://stackoverflow.com/questions/51480079
复制相似问题