Nehmen wir an, ich habe den folgenden Code:
abstract class Animal
case class Dog(name:String) extends Animal
var foo:Animal = Dog("rover")
var bar:Dog = foo //ERROR!
Wie behebe ich die letzte Zeile dieses Codes? Grundsätzlich möchte ich nur das tun, was in einer C-ähnlichen Sprache getan werden würde:
var bar:Dog = (Dog) foo
scala
type-conversion
Kevin Albrecht
quelle
quelle
var bar:Dog = foo match { case x:Dog => foo.asInstanceOf[Dog] case _ => { // Error handling code here } }
?x
aus dem Mustervergleich