Здравствуйте, программисты 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"