![]() |
1
54
|
![]() |
2
296
为什么要克隆?创建新列表通常更有意义。
工作完成了。 |
![]() |
3
20
我使用的代码是:
希望对你有用 |
![]() |
4
17
使用Java 8,它可以用流克隆。
…
|
![]() |
5
16
请注意,object.clone()存在一些主要问题,在大多数情况下不鼓励使用它。请参阅第11项,来自“ Effective Java “乔舒亚·布洛克给出了一个完整的答案。我相信您可以在基元类型数组上安全地使用object.clone(),但除此之外,您还需要明智地正确使用和覆盖clone。您最好定义一个复制构造函数或一个静态工厂方法,该方法根据您的语义显式地克隆对象。 |
![]() |
6
14
我认为使用集合API应该可以做到这一点: 注释 :复制方法以线性时间运行。
|
![]() |
7
6
如果您希望此操作能够在getter中返回列表,则最好执行以下操作:
|
![]() |
8
6
我发现使用addall很好。
使用括号而不是泛型语法 |
![]() |
9
3
克隆通用接口
这有点棘手,但如果您只能返回
我知道这个答案接近最终的答案,但我的答案回答了当你在工作时如何做所有这些
|
![]() |
10
2
克隆数组列表时要非常小心。在Java中克隆是很浅的。这意味着它将只克隆ArrayList本身,而不克隆它的成员。因此,如果您有一个arraylist x1并将其克隆到x2中,x2中的任何更改也将在x1中显示,反之亦然。克隆时,将只生成一个新的ArrayList,其中包含指向原始元素中相同元素的指针。 |
![]() |
11
2
这也应该有效:
|
![]() |
12
1
|
![]() |
13
1
我不是Java专业人士,但我有同样的问题,我试图用这种方法解决。(假设t有一个复制构造函数)。
|
![]() |
14
0
请记住,这只是一个浅薄而不是深刻的副本,即你得到了一个新的列表,但条目是相同的。对于简单的字符串来说,这不是问题。当列表项是自己的对象时,get更难处理。 |
![]() |
Brendan · Java中从父类继承的对象的ArrayList 2 年前 |
![]() |
Larissa · 多维数组列表仅显示第一项 6 年前 |
![]() |
RPH · 从云FireStore Android读取数据 6 年前 |
![]() |
NoProg · 在ArrayList中搜索键的和(Java) 7 年前 |