Kotlin数组初始化引发空指针异常

时间:2018-10-23 02:23:44

标签: kotlin

我是kotlin的初学者,我正在尝试使用接受大小和函数的构造函数初始化数组。这就是我所拥有的:

fun main(args: Array<String>) {
    var ary = Array(5, {x -> x + 2})
    println(ary[2])
}

但是它在第一行抛出一个空指针异常。为什么会这样?


编辑:我是原始海报的教授,我们正在努力使这一工作更加紧密。这是更多信息:

我已经将上面的代码编辑为完整程序。我们已在服务器上安装的Kotlin版本为:

$ kotlinc -version
info: kotlinc-jvm 1.2.70 (JRE 1.8.0_144-jdk_2017_08_24_20_46-b00)

当我尝试从命令行编译并运行时,我得到:

$ kotlinc example.kt -include-runtime -d example.jar
$ java -jar example.jar 
Exception in thread "main" java.lang.NullPointerException
    at ExampleKt.main(example.kt:2)

我会注意到,此代码对于我的笔记本电脑(在Kotlin的较旧版本中)进行编译就可以了。

1 个答案:

答案 0 :(得分:5)

这是Kotlin编译器的AOT编译(取决于OS)版本中的a bug。请查看该问题以获取更新。