在尝试使用by lazy
和 object
. 这似乎只发生在我的项目上。演示项目运行良好。
我想为给定的类添加一个接口并延迟加载它的值。
我创建了一个小示例,该示例在我的项目中不起作用,但在任何其他项目中都可以正常工作:
open class Foo
interface Bar {
val lazyLoadedString : String
}
class Test {
private val foo by lazy {
object : Foo(), Bar {
override val lazyLoadedString = "Demo"
}
}
}
一旦我结合object
and by lazy
,它就无法再编译并显示以下错误。单独使用每一个都有效。
Test.java:9:错误:找不到符号
private final my.package.Test$foo$2$1 getFoo()符号:类 Test$foo$2$1
位置:包 my.package
仔细观察,您会看到生成的 java 文件显示了这个错误,而不是 kotlin-code。
对此有什么想法吗?