我注意到在以下情况下,可以使用scala类型“Int”,但Any或Nothing不能。
user match {
case Int => "scala int"
case Any => "?"
}
scala的案例类如何以及为什么将这些类型区分为 matchable ?
答案 0 :(得分:1)
根本没有任何类型(没有这种类型的实例 - http://www.scala-lang.org/api/2.10.4/index.html#scala.Nothing)。要匹配任何你可以使用_
答案 1 :(得分:1)
如果你写得正确:
user match {
case _: Int => "scala int"
case _: Any => "?"
}
你可以使用Any
(尽管它没有用,正如Eugene指出的那样)。您无法使用Nothing
,因为它永远无法匹配。