java - Kotlin:Java 无法解析 Kotlin Symbol?

标签 java kotlin single-instance

我有一个像下面这样的 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/

相关文章:

android - 返回调用应用程序时防止 SingleTask 应用程序关闭

java - 理解java方法的问题

java - Java/Kotlin Android 应用程序的通用应用程序状态架构?

java - 用密文覆盖明文文件

android - 带构造函数的房间类型转换器

android - 我正在使用 Kotlin 开发一个 Android 应用程序,我正在尝试从 Firestore 获取文档引用

c# - 如何检查 WPF 应用程序是否已经在运行?

android - '安卓 :launchMode ="singleInstance"' does not allow activity for results update

java - 如何解决fabric-sdk-java中的 “instantiate chaincode”错误?

java - nosuchwindowexception Selenium 与 PhantomJS Java