我有一个像下面这样的 Kotlin 代码,SingleKotlin.instance
可以被其他 Kotlin 文件调用
class SingleKotlin private constructor(){
companion object {
val instance by lazy {
SingleKotlin()
}
}
}
但是,当我尝试从 java 调用 SingleKotlin.instance
时,它显示 can't resolve symbol 'instance'
我不明白为什么,任何人都可以解释,我该如何解决这个问题?
最佳答案
只需在字段上方添加 @JvmStatic 注释(如本文档中所述 https://kotlinlang.org/docs/reference/java-to-kotlin-interop.html#static-fields )
所以,你的代码应该是这样的:
class SingleKotlin private constructor(){
companion object {
@JvmStatic
val instance by lazy {
SingleKotlin()
}
}
}
现在你可以这样调用它
SingleKotlin.instance
关于java - Kotlin:Java 无法解析 Kotlin Symbol?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41860373/