3
如果我有一个案例类这样斯卡拉排序选项
为什么这项工作
scala> val l = List(Foo(Some("b")), Foo(Some("a")), Foo(Some("c")))
l: List[Foo] = List(Foo(Some(b)), Foo(Some(a)), Foo(Some(c)))
scala> l.sortBy(_.bar)
res1: List[Foo] = List(Foo(Some(a)), Foo(Some(b)), Foo(Some(c)))
,但不是这个
scala> l.sortWith((x,y) => x.bar > y.bar)
<console>:11: error: value > is not a member of Option[String]
l.sortWith((x,y) => x.bar > y.bar)
如果我要排序的List
Option[String]
按降序排列,使用sortBy
然后更简单的列表?
您可以使用'import math.Ordered._'添加您的答案解决方案。在这种情况下,'l.sortWith((x,y)=> x.bar> y.bar)'按预期工作。 – senia
@senia - 确实,这将是一个好主意。不知道为什么我认为人们会想用手工的方式做到这一点。反思厌恶额外进口,也许? –