gpt4 book ai didi

java - 如何在 Java 中创建另一个列表,给定一个列表,但列出不同的类

转载 作者:行者123 更新时间:2023-12-01 15:34:08 24 4
gpt4 key购买 nike

我有一个列表,我需要返回相同类型的列表。

如果相关的话,在我的例子中,Y 是一个接口(interface),接口(interface) X 是它的 super 接口(interface)。

我假设我需要使用newInstance来获取List的类型。

public List<Y> foo() {
List<X> xList = -a method that returns List<X>-;
List<Y> yList = xList.getClass().newInstance(); //Is this right?

...

return yList;
}

我可以创建一个 ArrayList,但我不知道这是否是最好的选择,因为我可以接收任何类型的列表。

最佳答案

您是否将 List 的类与其泛型类型混淆了?很少需要返回 List 的特定实现(例如,如果它需要可序列化)。我建议只使用 ArrayList,事先调整好大小。

关于接口(interface),请小心,因为如果 Y 扩展 X,则通常不能将 xList 中的对象放入 yList(我假设您想要),因为列表中可能存在一个不是 YX 实例。

关于java - 如何在 Java 中创建另一个列表,给定一个列表,但列出不同的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9181397/

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