java - 在 kotlin 类中创建 "public"常量

标签 java android kotlin constants

这个问题在这里已经有了答案:





What is the equivalent of Java static final fields in Kotlin?

(4 个回答)


2年前关闭。




也许这是不好的做法,但在 Java 中我经常会创建类似的东西:

public class MyService extends Service {

  public static final String ACTION_CONNECTED = "blablabla";

...
}

并在另一个类中引用它,例如:
MyService.ACTION_CONNECTED

这太棒了。我可以让我的常量与他们的类很好地联系起来。

我似乎在 Kotlin 中找不到等价物。我看到到处都是建议人们创建常量文件(对象)的解决方案,但我认为这不是很优雅。我希望有一些方法可以公开顶级 const val BLAB在它的文件之外,所以我可以保留我的ClassName.CONSTANT语法正在运行,但它看起来不像在卡片中。

是否存在(以及它是什么)与旧的 public static final 等效的 Kotlin关于在类之间共享常量?

最佳答案

class MyService  {
    companion object {
        @JvmStatic const val ACTION_CONNECTED = "blablabla"
    }
}

MyService.ACTION_CONNECTED 

这将相当于 kotlin 的 public static final

关于java - 在 kotlin 类中创建 "public"常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61241345/

相关文章:

gradle - 在gradle中跳过comileJava和processResources任务以进行Kotlin部署

android - Jetpack Compose 中复选框中的透明复选标记

Java正则表达式将带引号的字符串与嵌入的转义引号相匹配

java - 反编译混淆代码 "Cannot return from within an initializer"

java - 应为 BEGIN_ARRAY 但在第 1 行第 2 列为 BEGIN_OBJECT

安卓/SQLite : Saving/Retrieving data of type REAL

java - Spring boot只返回一个对象

java - 从 Android 中的 StartActivityForResult 返回一个类

java - 对敏感数据使用 startActivityForResult() 是否安全?

kotlin - HiveMQ MQTT 客户端 : subscribe to multiple topics