[英]Is there Scala equivalent of C# “as” keyword?
Scala是否相当于C# as
关键字?
var something = obj as MyClass;
Scala的asInstanceOf
抛出java.lang.ClassCastException
:
val something = obj.asInstanceOf[MyClass]
您可以使用模式匹配,如下所述: 如何在Scala中转换变量?
在读完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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.