次の例で がスローされることに少し驚きました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 Community Edition を使用しています。