【发布时间】:2021-05-12 20:36:05
【问题描述】:
只需考虑以下代码:
fun doAction(data: Any?, action: (Any?) -> Unit) {
action(data)
}
class Outer {
val a = "a"
val b = "b"
val inner by lazy { Inner() }
inner class Inner {
init {
doAction(a) { println(it) }
doAction(b) { println(it) }
}
}
}
fun main() {
Outer().inner
}
我希望得到结果,打印“a”和“b”,但只打印“a”和错误:
Exception in thread "main" java.lang.NoClassDefFoundError: org/example/Outer$Inner$2 (wrong name: org/example/Outer$inner$2)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
kotlin 版本:1.3.72
【问题讨论】:
-
Kotlin 1.4似乎没有问题
-
@AnimeshSahu 我在使用 kolin 1.4.10 时会遇到同样的错误
标签: java kotlin jvm lazy-evaluation