AFP*_*555 3 java inheritance arraylist
我知道这听起来很愚蠢,但我确实需要它.我100%肯定只允许SubClass进入arraylist.Superlalass中没有其他子类属于该arraylist.
我怎样才能做到这一点?
Map<String, List<Nodo>> map = ((Cast to ArrayList<NodoMoore> here)nodos).stream().
collect(Collectors.groupingBy(Nodo::getSalida));
Run Code Online (Sandbox Code Playgroud)
我的类实现了一个让我使用Nodo而不是NodoMoore的接口,但是getSalida方法不是Nodo方法,只是NodoMoore方法.
如果您确定nodos只包含实例NodoMoore,则可以使用强制转换将Nodo实例映射到NodoMoore实例:
Map<String, List<NodoMoore>> map =
nodos.stream()
.map(n->(NodoMoore)n)
.collect(Collectors.groupingBy(NodoMoore::getSalida));
Run Code Online (Sandbox Code Playgroud)
我以为那NodoMoore是一个子类Nodo.
Nodo::getSalida您可以使用lambda 而不是使用方法handle()来代替:
Map<String, List<Nodo>> map = nodos.stream()
.collect(Collectors.groupingBy(x->((NodoMoore)x).getSalida());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
487 次 |
| 最近记录: |