我试图将一个类型为Object的对象转换成FontUIResource类型。在Java中,可以这样做:
我该如何在Scala中实现这个功能?
FontUIResource font = (FontUIResource)value
我该如何在Scala中实现这个功能?
FontUIResource font = (FontUIResource)value
您可以使用value.asInstanceOf [FontUIResource]
,或者可以使用匹配案例块:
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]
进行类型转换。
case
类型本质上是isInstanceOf
/asInstanceOf
成对使用的语法糖,其中转换后的值分配给匹配变量 (f
是本例中的匹配变量)。显然,match
表单比 is/as 代码更可取,原因应该很清楚。 - Randall Schulz