Инициализация массива Kotlin вызывает исключение нулевого указателя - PullRequest
0 голосов
/ 23 октября 2018

Я новичок в 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 голосов
/ 19 ноября 2018

Это ошибка в AOT-скомпилированной (зависящей от ОС) версии компилятора Kotlin.Пожалуйста, смотрите вопрос об обновлениях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...