我试图从EndTime中减去summingInt()中的StartTime,但是它不起作用,它告诉我“此表达式的目标类型必须是函数接口”。
Map<String,Integer> hm = new HashMap<String,Integer>();
hm = listData.stream()
.collect(Collectors.groupingBy(MonitoredData::getActivity,
Collectors.summingInt( (MonitoredData::getEndTimeSeconds -
MonitoredData::getStartTimeSeconds)));
最佳答案
Collectors.summingInt
需要一个功能。
因此,您必须在此处提供转换器功能。
将此替换为summingInt
:
Collectors.summingInt(m -> m.getEndTimeSeconds() - m.getStartTimeSeconds())