【发布时间】:2017-12-19 13:31:41
【问题描述】:
我想将不带泛型的 List 转换为 List<MyConcreteType>。
我还需要只过滤掉我的具体类型。
我目前的流逻辑是这样的:
List list = new ArrayList();
Object collect1 = list.stream().filter((o -> o instanceof MyConcreteType)).collect(Collectors.toList());
但结果是我得到了Object 而不是List。有没有办法将此Stream 转换为List<MyConcreteType>?
【问题讨论】:
-
投吧
List<MyConcreteType> typedList = (List<MyConcreteType>) list。 -
@BoristheSpider 但我需要先过滤它 - 因为它也可以包含其他项目
-
list.stream().filter(MyConcreteType.class::isInstance).map(MyConcreteType.class::cast).collect(Collectors.toList())然后
标签: java generics java-8 java-stream