2016-03-02 76 views
2

的名单,我有以下流:Java的8个流 - 子类型的演员表超类型

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<ScheduleIntervalContainer>类型的List转换为List<ScheduleContainer>类型的List(ScheduleIntervalContainer是ScheduleContainer的子类型)。有没有办法做到这一点?

回答

4

您可以通过指定类型参数收集物品进入更多普通类型的列表,以用于toList

Collectors.<ScheduleContainer>toList()