繁体   English   中英

Scala是否相当于C#“as”关键字?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM