我是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的较旧版本中)进行编译就可以了。