我试图将一个Object类型的对象转换为FontUIResource类型。在Java中,这将是转换类型
FontUIResource font = (FontUIResource)value
我该怎么做在斯卡拉?
我试图将一个Object类型的对象转换为FontUIResource类型。在Java中,这将是转换类型
FontUIResource font = (FontUIResource)value
我该怎么做在斯卡拉?
你可以说value.asInstanceOf[FontUIResource]
,或者你可以用一根火柴-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
}
你的意思是铸造,而不是拳击和拆箱,因为它适用于原始值。 value.asInstanceOf[FountUIResource]
是在Scala中进行投射的方法。
原始值,而不是数字。 – Synesso 2010-09-10 03:30:25
这里说明的'case'的种类本质上是一个'isInstanceOf' /'asInstanceOf'对的语法糖,赋值给匹配变量(本例中为'f')。应该清楚为什么'match'形式比is/as代码更可取。 – 2010-09-10 03:42:23