gpt4 book ai didi

java - 将 ArrayList 转换为 ArrayList

转载 作者:搜寻专家 更新时间:2023-11-01 04:05:38 24 4
gpt4 key购买 nike

我知道这听起来很蠢,但我真的需要它。我 100% 肯定只允许 SubClass 进入数组列表。 SuperClass 的其他子类不在该数组列表中。

我该怎么做?

    Map<String, List<Nodo>> map = ((Cast to ArrayList<NodoMoore> here)nodos).stream().
collect(Collectors.groupingBy(Nodo::getSalida));

我的类实现了一个让我使用 Nodo 而不是 NodoMoore 的接口(interface),但是 getSalida 方法不是 Nodo 方法,只是 NodoMoore 方法。

最佳答案

如果您确定 nodos 仅包含 NodoMoore 的实例,您可以通过强制转换将 Nodo 实例映射到 NodoMoore 实例:

Map<String, List<NodoMoore>> map = 
nodos.stream()
.map(n->(NodoMoore)n)
.collect(Collectors.groupingBy(NodoMoore::getSalida));

我假设 NodoMooreNodo 的子类。

关于java - 将 ArrayList<SuperClass> 转换为 ArrayList<SubClass>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35547814/

24 4 0