android - 在 java 类中访问 Kotlin 中定义的常量

标签 android kotlin

我在kotlin中定义了一些常量

object Keys {
    const val SPLASH_DURATION : Long = 5000

    const val READ_TIMEOUT : Int = 200
    const val CONNECTION_TIMEOUT : Int = 200
    const val WRITE_TIMEOUT : Int = 200

    var BASE_URL = BuildConfig.SERVER_KEY
}
  • 如果我尝试访问 Java 类中的 BASE_URL 作为 Keys.BASE_URL。我得到 错误,它有私有(private)访问权限。
  • 如何解决这个问题。我是否需要以不同方式声明常量 在 Kotlin 。

最佳答案

您可以使用 Companion Objects

  • 类中的对象声明可以用companion关键字标记:

试试这个

class Keys {

    companion object {
        const val SPLASH_DURATION : Long = 5000
        const val READ_TIMEOUT : Int = 200
        const val CONNECTION_TIMEOUT : Int = 200
        const val WRITE_TIMEOUT : Int = 200

    }
}

现在你可以像这样访问你的const变量

Keys.CONNECTION_TIMEOUT;

Second Way

object Keys {
    const val SPLASH_DURATION: Long = 5000
    const val READ_TIMEOUT: Int = 200
    const val CONNECTION_TIMEOUT: Int = 200
    const val WRITE_TIMEOUT: Int = 200
}

现在你可以像这样访问你的const变量

Keys.SPLASH_DURATION;

关于android - 在 java 类中访问 Kotlin 中定义的常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53828442/

相关文章:

android - 多次运行 Espresso 测试

java - 如何将捕获/图库图像传递到android中的下一个 Activity

android - Chromecast 应用未在 Chromecast 的应用页面中列出

android - Kotlin:未调用 onGlobalLayout

templates - Kotlin 中的动态评估模板字符串

Android Studio 3.1 不显示 "Transitions"类别

java - 每行包含两个元素的 Android 列表

android - Xcode 还是 Xamarin?

android - 内存泄漏 ;对象没有 GC 根

Kotlin 数据类 : how to read the value of property if I don't know its name at compile time?