我正在尝试使用Kotlin的when
块在不同的地图中查找元素。确认元素存在后,代码随后不会将映射中的结果查找智能广播为非null。
下面是一个最低限度的工作示例:是否可以对其进行重新加工以使得不需要!!
?
fun main(args: Array<String>) {
val string = "abc"
val map1 = mapOf('a' to 5)
val map2 = mapOf('b' to 4)
when (val char = string.firstOrNull()) {
null -> println("Nothing to find")
in map1 -> println("Found in map1: ${map1[char]!!+1}")
in map2 -> println("Found in map2: ${map2[char]!!-1}")
else -> println("Unrecognised character $char")
}
}