Scala是否等同于C#as
关键字?
var something = obj as MyClass;
Scala asInstanceOf
抛出java.lang.ClassCastException
:
val something = obj.asInstanceOf[MyClass]
答案 0 :(得分:9)
您可以使用模式匹配,如下所述:How do I cast a variable in Scala?
答案 1 :(得分:8)
在读完C#之后,我意识到你可能意味着这个:
val foo = if (bar.isInstaceOf[Foo]) bar.asInstanceOf[Foo] else null.asInstanceOf[Foo]
应该注意,在Scala中不鼓励使用null。你应该真的这样做:
val foo = if (bar.isInstaceOf[Foo]) Some(bar.asInstanceOf[Foo]) else None