gpt4 book ai didi

java - 还需要 ArrayList 的副本以及对象的副本

转载 作者:行者123 更新时间:2023-11-30 07:41:49 25 4
gpt4 key购买 nike

您好,我正在尝试创建一个 ArrayList,其中包含原始 ArrayList 中对象的副本。我在这里搜索过,但无法理解足够多的早期帖子来获得帮助。下面是我试图复制的 ArrayList。

ArrayList<Stuff> originallist = new ArrayList<Stuff>();

抱歉转载!

最佳答案

这并不是一般可以回答的问题,因为它取决于对象的复制方式。

假设该对象有一个名为 copyOf 的方法,该方法返回该对象的副本,您需要这样做

ArrayList<Stuff> copy = new ArrayList<Stuff>(originallist.size());
for (Stuff s : originallist) {
copy.add(s.copyOf());
}

“copyOf”函数可能来自很多地方。如果一个对象实现了可克隆接口(interface),则该对象可能是此函数的来源(但不鼓励使用该接口(interface)有多种原因)。有些类包含一个构造函数,可以从现有实例创建副本,在这种情况下您可以这样做

ArrayList<Stuff> copy = new ArrayList<Stuff>(originallist.size());
for (Stuff s : originallist) {
copy.add(new Stuff(s));
}

在其他情况下,可能必须通过访问字段的方法来完成(例如使用保留名字和姓氏的 Person 对象)

ArrayList<Person> copy = new ArrayList<Person>(originallist.size());
for (Person s : originallist) {
copy.add(new Person(s.getFirstName(),s.getLastName()));
}

要确定如何执行此操作,您应该查看“Stuff”对象的 api 指南。列表本身的实际复制很容易。

关于java - 还需要 ArrayList 的副本以及对象的副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34564690/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com