c# - 是否有 C# "as"关键字的 Scala 等效项?

标签 c# scala casting classcastexception

C# as 关键字是否存在 Scala 等价物?

var something = obj as MyClass;

Scala 的 asInstanceOf 抛出 java.lang.ClassCastException:

val something = obj.asInstanceOf[MyClass]

最佳答案

在阅读了一些 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

关于c# - 是否有 C# "as"关键字的 Scala 等效项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6451787/

相关文章:

java - Wicket:更新 DropDownChoice 项目选择事件的模型

java - 将泛型类的实例转换为另一个泛型类的实例有什么用?

function - 戈朗 : chaining function to returnself

c++ - 在 C++ 中将 double 转换为 intptr_t

c# - 建立。在构建之前创建 EmbeddedResource

c# - 在 C# 中更改 TextBlock 的背景颜色

c# - 具有多个构造函数的 MEF 构造函数参数

c# - 我是否应该在 Visual Studio 中使用类库避免 'chained' 引用?

scala - Scala 中带有大括号的函数的奇怪定义和调用(函数作为函数的参数)

scala - 在 sbt install 之前运行 apt-get update 时,收到 HTTP 403