Kotlin:检查是否为空并直接投射

ior*_*i24 3 android kotlin

在我的Android应用程序中,我有一个映射,<String, Any?>键的值可以是Int或String或null.

目前,我这样做:

map[key]?.let {
    val value = it as Int
    // use value here
}
Run Code Online (Sandbox Code Playgroud)

如果有办法拥有像Swift这样的快捷方式

if let value = map[key] as? Int {

}
Run Code Online (Sandbox Code Playgroud)

所以它就像一条线来检查无效并将其投射到现场

Sau*_*abh 6

您可以使用

 (map[key] as? Int)?.let {

 }
Run Code Online (Sandbox Code Playgroud)