返回

kotlin (考特林KT的BUG)中A集合的对象被重新添加至B新的集合改变B新集合对象里面的字段--A集合的对象字段都会改变得问题修改(Java中不存在这个问题)应该算是kotlin的一个bug

发布时间:2022-12-07 15:13:18 212
# kotlin

kotlin 中A集合的对象被重新添加至B新的集合改变B新集合对象里面的字段–A集合的对象字段都会改变得问题修改

解决方案:
使用下面的方法copy A集合 返回一个新的集合,然后在新的集合中处理,就不会改变A集合里面的内容。

/**
* list 深拷贝
*/
fun deepCopyList(srcList: List): List? {
val byteOut = ByteArrayOutputStream()
try {
val out = ObjectOutputStream(byteOut)
out.writeObject(srcList)
val byteIn = ByteArrayInputStream(byteOut.toByteArray())
val inStream = ObjectInputStream(byteIn)
return inStream.readObject() as List
} catch (e: IOException) {
e.printStackTrace()
} catch (e: ClassNotFoundException) {
e.printStackTrace()
}

return null
}

 

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线