介绍
小编给大家分享一下java如何实现列表的拷贝,希望大家阅读完这篇文章后大所收获、下面让我们一起去探讨吧!
背景:
一开始是想的在进入一个新页面的时候复制一份集合,留着后续操作,直接就写了,列表A=B,后面发现在操作B的时候,一个里面的数据也会跟着变化。
通过查询发现,原来直接用“=笔窍嗟庇趈ava中相同内容的数组指向同一地址,即进行浅拷贝后A与B指向同一地址。造成的后果就是,改变B的同时也会改变,因为改变B就是改变B所指向地址的内容,由于一个也指向同一地址,所以A与B一起改变。复制一份独立的数组可以使用下面的方法:
公共类GoodsBean HttpResult延伸实现可克隆{ @Override 保护对象克隆()抛出CloneNotSupportedException { GoodsBean o=零; 尝试{ o=(GoodsBean) super.clone (); }捕捉(CloneNotSupportedException e) { e.printStackTrace (); } 返回啊; } 公共ArrayListdeep_clone (ArrayList 细胞,ArrayList clone_cells) { (GoodsBean c:细胞){ 尝试{ clone_cells.add ((GoodsBean) c.clone ()); }捕捉(CloneNotSupportedException e) { e.printStackTrace (); } } 返回clone_cells; } }
看完了这篇文章,相信你对java如何实现列表的拷贝有了一定的了解,想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!