我有点惊讶以下示例抛出NullPointerException
:
fun main(args: Array<String>) {
val hm = HashMap<String, Int>()
hm.put("alice", 42)
val x = hm.get("bob")
println(x) // BOOM
}
NullPointerException
我以为Kotlin 代码中没有s ?
如果我使用可选类型进行注释x
,则程序会打印null
:
fun main(args: Array<String>) {
val hm = HashMap<String, Int>()
hm.put("alice", 42)
val x: Int? = hm.get("bob")
println(x) // null
}
我是否发现了一个特殊情况,或者这是 Kotlin/Java 互操作的普遍问题?
我正在使用带有 Kotlin 0.11.91.1 插件的 IntelliJ IDEA 14.1 社区版。