我该如何解决这个错误“Kotlin: [Internal Error] java.lang.ExceptionInInitializerError";

问题描述:

fun main() {
    fun convert(x: Double, converter: (Double) -> Double) : Double{
        val result = converter(x)
        println("$x is converted to $result")
        return result
    }
    fun convertFive(converter: (Int) -> Double) : Double {
        val result = converter(5)
        println("5 is converted to $result")
        return result
    }

    convert(20.0) { it * 1.8 + 32}
    convertFive { it * 1.8 + 32 }
}

//当我更新我的 intelliJ Idea 并运行它时出现此错误//

// i got this error when i updated my intelliJ Idea and ran this //

Kotlin: [内部错误] java.lang.ExceptionInInitializerError

Kotlin: [Internal Error] java.lang.ExceptionInInitializerError

问题是当前版本的 Kotlin 编译器 (1.4.31, 1.5-M1) 在 JDK 16 上不起作用.请使用 JDK

16 暂时.相关问题:https://youtrack.jetbrains.com/issue/KT-45566.

The problem is that the current version of the Kotlin compiler (1.4.31, 1.5-M1) doesn't work on JDK 16. Please use JDK < 16 for now. Related issue: https://youtrack.jetbrains.com/issue/KT-45566.