2016-03-02 74 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()