Une Conversion de Type explicite en Scala
Permet de dire que j'ai le code suivant:
abstract class Animal
case class Dog(name:String) extends Animal
var foo:Animal = Dog("rover")
var bar:Dog = foo //ERROR!
Comment puis-je fixer la dernière ligne de ce code? En gros, je veux juste faire ce que, dans un C-comme le langage serait fait:
var bar:Dog = (Dog) foo
Vous devez vous connecter pour publier un commentaire.
J'ai pensé que cela par moi-même. Il y a deux solutions:
1) Faire le cast explicite:
2) Utilisation de pattern matching pour jeter pour vous, cela attire aussi des erreurs:
var bar:Dog = foo match { case x:Dog => foo.asInstanceOf[Dog] case _ => { // Error handling code here } }
?x
de pattern matching