我有以下流:
final List<List<ScheduleContainer>> scheduleIntervalContainerOfCurrentDay = new ArrayList<>(
unconfirmedScheduleIntervalContainersOfWeeks.stream()
.sorted(Comparator.comparing(ScheduleIntervalContainer::getStartDate).reversed())
.filter(s -> s.getStartDate().withTimeAtStartOfDay().isEqual(today.withTimeAtStartOfDay()))
.collect(Collectors.groupingBy(ScheduleIntervalContainer::getStartDate, LinkedHashMap::new, Collectors.toList())).values());
最后我将从 List
转换类型 List<ScheduleIntervalContainer>
至 List
类型 List<ScheduleContainer>
(ScheduleIntervalContainer 是 ScheduleContainer 的子类型)。有办法做到这一点吗?
最佳答案
您可以通过指定用于 toList
的类型参数将项目收集到更通用类型的列表中:
Collectors.<ScheduleContainer>toList()
关于Java-8 流 - 将子类型列表转换为父类(super class)型列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35741342/