我在我的代码中使用someMap.get(someKey),这给了我一个错误,说Please use !! or ?. 当我使用时someMap.getValue(someKey),该错误消失了。
有人能解释一下为什么我们在课堂上有两个看似相似(但奇怪地不同)的get函数吗Map?
更新
我猜这与引发异常的异常有关getValue。但 Kotlin 不是没有异常抛出吗?
Ste*_*kov 23
在 Kotlin 中,它们提供了两种方法Map。get(key)如果存在则返回值,null如果不存在则返回,因此是可为空类型。getValue(key)返回键的值,或者Exception如果键不存在则抛出异常:https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/get-value.html
如果您确定您的映射将包含该键,您可以避免使用可为 null 的变体并使用getValue(); 如果您不知道地图包含什么内容,请使用get().
| 归档时间: |
|
| 查看次数: |
18204 次 |
| 最近记录: |