2010-09-10 17 views
3

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?

Répondre

6

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 
} 
+0

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. –

3

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.

+1

Les valeurs primitives, plutôt que numérique. – Synesso