【问题标题】:How to access Kotlin companion objects from Java如何从 Java 访问 Kotlin 伴随对象
【发布时间】:2019-03-23 17:16:06
【问题描述】:

我有这个 Kotlin 类:

class Storage {
    companion object {
        val COL_ID = "id"
    }
}

我想在我的 Java 代码中使用 COL_ID

doSomething(Storage.COL_ID);

但是,编译器告诉我COL_ID 是私有的。我尝试将public 添加到所有元素(类、对象和val)中,但没有效果。

如何访问这些伴随对象常量?

更新我认为我的问题与给定的副本不同,因为我想创建常量,而不是静态方法。

【问题讨论】:

  • 您的const val COL_ID(或@JvmField)中缺少const
  • @EpicPandaForce 就这么简单...
  • @Steve 不,它找到了,只是无法访问。
  • 嗯...我认为这行不通。好吧,那我就不懂了。那么你最终想出的解决方案是什么?您说您已经尝试将其设为“公开”

标签: java kotlin kotlin-companion


【解决方案1】:

我加了const,一切正常:

class Storage {
    companion object {
        const val COL_ID = "id"
    }
}

【讨论】:

    猜你喜欢
    • 2016-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-31
    • 1970-01-01
    • 1970-01-01
    • 2016-05-21
    • 1970-01-01
    相关资源
    最近更新 更多