各位 Scala 程序员你好
我已经使用 Scala 工作了一个月,但是我在一些基本的东西上遇到了问题,我希望你能帮我解决这个问题。
case class PersonClass(name: String, age: Int)
object CaseTester {
def main(args:Array[String])
{
val string = "hej"
string match {
case e:String => println(string)
case PersonClass => println(string)
}
}
}
当我这样做时,我得到错误:
pattern type is incompatible with expected type;
found : object PersonClass
required: java.lang.String
case PersonClass => println(string)
如果我然后将模式匹配中的第二行更改为以下内容:
case e:PersonClass => println(string)
然后我得到错误:
error: scrutinee is incompatible with pattern type;
found : PersonClass
required: java.lang.String
case e:PersonClass => println(string)
但是,如果我将字符串定义更改为以下内容,它在两种情况下都可以正常编译。
val string:AnyRef = "hej"