Scala Seq案例匹配

spa*_*rkr 2 scala

我有一个我希望案例匹配的序列.我的问题很简单:

以下两种情况是否相同?

case x :: Nil =>
case x :: xs  =>
Run Code Online (Sandbox Code Playgroud)

我可以改为

case Nil =>
case x :: xs  =>
Run Code Online (Sandbox Code Playgroud)

如何处理x :: Nil的情况?是否也符合Nil的情况?

ser*_*jja 8

不,他们不一样.

case x :: Nil匹配与列表恰好一个元素.

case x :: xs匹配具有至少一个元素的列表.

case Nil匹配一个列表