类型转换

3
我试图将一个类型为Object的对象转换成FontUIResource类型。在Java中,可以这样做:
FontUIResource font = (FontUIResource)value

我该如何在Scala中实现这个功能?
2个回答

6

您可以使用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
}

这里展示的 case 类型本质上是 isInstanceOf / asInstanceOf 成对使用的语法糖,其中转换后的值分配给匹配变量 (f 是本例中的匹配变量)。显然,match 表单比 is/as 代码更可取,原因应该很清楚。 - Randall Schulz

3
您指的是类型转换,而不是装箱和拆箱,因为这适用于原始值。在Scala中,使用value.asInstanceOf[FountUIResource]进行类型转换。

1
原始值,而不是数字。 - Synesso

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接