所以我正在尝试实现一个自定义收集器,但不幸的是我遇到了一个非常有趣的问题:
@Override
public BiConsumer<Map<LocalDate, List<TripResultDTO>>, TripResultDTO> accumulator() {
return (acc,elem) -> {
long departureTime = elem.getOutbound().getDepartureTimeLocal();
LocalDate departureDate = new LocalDateTime(departureTime).toLocalDate();
List<TripResultDTO> othersInTheSameDay = acc.getOrDefault(departureDate,new LinkedList<>());
othersInTheSameDay.add(elem);
acc.put(departureDate,othersInTheSameDay);
};
}
所以在上面的代码中,编译器无法解析类型为 elem 对象的任何方法TripResultDTO
。
不用说该getOutbound
方法以红色突出显示,无法解决。TripResultsDTO
通过查看似乎被简单地视为Object
而不是的实例的智能感觉,这很奇怪TripResultDTO
。你知道为什么会发生这种情况吗?
也欢迎以更好的方式做我正在做的事情的任何想法。