【发布时间】:2018-10-23 02:23:44
【问题描述】:
我是 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。
【问题讨论】:
-
代码可以正常工作并打印出
4。 -
代码没有问题。用 NPE 上传 IDE 截图怎么样。
-
如果您有异常,也可能值得将堆栈跟踪添加到问题中。通常这会为您提供有关错误发生原因的更多信息。
-
我试过了,得到了完全相同的错误
标签: kotlin