gpt4 book ai didi

java - 如何在 Java 中创建与旧列表相同类型的新列表?

转载 作者:行者123 更新时间:2023-11-30 09:50:32 25 4
gpt4 key购买 nike

我正在尝试编写一个接受 List 并基于它创建相同类型的新 List 的方法。也就是说,如果输入列表是一个 ArrayList,那么我希望该方法创建一个新的 ArrayList。问题是程序直到运行时才知道 List 是 ArrayList 还是 LinkedList

到目前为止,我已经尝试使用 clone() 方法,但我认为它不起作用,因为 List 类没有定义 clone() ,当我将输入列表转换为 Object 然后克隆然后重新转换为 List 时,它也不起作用(我不确定为什么)。

最佳答案

JDK 中的所有标准列表都支持克隆,所以

List copy = (List)((Cloneable)somelist).clone()

应该可以正常工作。

当然可以使用反射

Class c = somelist.getClass();
List newlist = (List)c.newInstance();
newlist.addAll(somelist);

关于java - 如何在 Java 中创建与旧列表相同类型的新列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5131318/

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