我想用 Lambda 对列表进行排序:
List<Message> messagesByDeviceType = new ArrayList<Message>();
messagesByDeviceType.sort((Message o1, Message o2)->o1.getTime()-o2.getTime());
但是我得到了这个编译错误:
Multiple markers at this line
- Type mismatch: cannot convert from long to int
- The method sort(Comparator<? super Message>) in the type List<Message> is not applicable for the arguments ((Message o1, Message o2)
-> {})
原文由 Nunyet de Can Calçada 发布,翻译遵循 CC BY-SA 4.0 许可协议
Comparator#compareTo
返回一个int
;而getTime
显然是long
。这样写会更好: