0

我正在尝试对一个 List 进行排序,而 ListXMLMessage又从Message. Message trait 扩展Ordered并提供了基于时间戳的比较功能。但是,当我尝试说:

list.sorted

错误说

error: diverging implicit expansion for type scala.math.Ordering[domain.XMLMessage]
starting with method comparatorToOrdering in trait LowPriorityOrderingImplicits

我怎样才能在消息上提供排序以便list.sorted工作?谢谢

4

1 回答 1

1

sorted需要一个Ordering[XMLMessage],但你(通过隐式)只能提供一个Ordering[Message]. Ordering是不变的,因此排序不能使用它。实现您想要的最简单的方法可能是:

list.sortBy(_: Message)
于 2013-05-01T16:20:40.783 回答