J'essayais de convertir un objet avec un type d'objet en type FontUIResource. En Java, ce seraitTypes de conversion
FontUIResource font = (FontUIResource)value
Comment ferais-je cela dans Scala?
J'essayais de convertir un objet avec un type d'objet en type FontUIResource. En Java, ce seraitTypes de conversion
FontUIResource font = (FontUIResource)value
Comment ferais-je cela dans Scala?
Vous pouvez dire value.asInstanceOf[FontUIResource]
, ou vous pouvez utiliser un bloc match-case:
value match{
case f:FontUIResource =>
//do something with f, which is safely cast as a FontUIResource
case _ =>
//handle the case when it's not the desired type
}
Vous voulez dire lancer, pas Boxe et Unboxing, puisque cela s'applique aux valeurs primitives. value.asInstanceOf[FountUIResource]
est le moyen de lancer ceci à Scala.
Les valeurs primitives, plutôt que numérique. – Synesso
Le type de «cas» illustré ici est essentiellement du sucre syntaxique pour une paire 'isInstanceOf' /' asInstanceOf' avec la valeur casted affectée à la variable de correspondance ('f' dans cet exemple). Il devrait être clair pourquoi le formulaire 'match' est préférable au code is/as. –