在Kotlin中,处理空值,引用或转换它们的惯用方式是什么
如果我有一个可为null的类型Xyz?,我想引用它或将其转换为不可为null的类型Xyz。Kotlin的惯用方式是什么? 例如,此代码是错误的: val something: Xyz? = createPossiblyNullXyz() something.foo() // Error: "Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type Xyz?" 但是,如果我先检查null就是允许的,为什么? val something: Xyz? = createPossiblyNullXyz() if (something != null) { something.foo() } 假设我确定它永远不会,null该如何在不if检查的情况下更改或不对待一个值null?例如,在这里我从映射中检索一个可以保证存在的值,get()而not 的结果null。但是我有一个错误: val map = mapOf("a" to 65,"b" to 66,"c" …