kotlin - 相当于 Java 的 'public static final string'

标签 kotlin

在我的 Java 项目中,我有一个类,我使用 public static final String 属性声明了许多项目常量:

public class Constants {
    public static final String KIND_NAME = "user";
    public static final String AVATAR_IMAGE_ID = "avatarImageId";
    public static final String AVATAR_IMAGE_URL = "avatarImageUrl";
    public static final String NAME_COLUMN = "name";
    public static final String TOTAL_SCORE_COLUMN = "totalScore";
    ...
}

所以我可以在项目的许多不同地方使用它:

...
String userName = user.getProperty(Constants.KIND_NAME);
...

到目前为止,我已经找到了一些在 Kotlin 中实现此功能的不同方法,例如:companion objectsdata class。 Kotlin 中最好的等效代码是什么?

最佳答案

@Todd 的回答将产生一个 INSTANCE 类的实例 Constants,这有时是出乎意料的。更好的选择是:

// file-level
@file:JvmName("Constants")
const val KIND_NAME = "user"
const val AVATAR_IMAGE_ID = "avatarImageId"
const val AVATAR_IMAGE_URL = "avatarImageUrl"
const val NAME_COLUMN = "name"
const val TOTAL_SCORE_COLUMN = "totalScore"

关于kotlin - 相当于 Java 的 'public static final string',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50783692/

相关文章:

java - 如何将此Kotlin代码中的 “apply”转换为Java?

android - 如何适应实体类的不同参数

java - WAR 文件 : Could not find or load main class, 但它在那里

android - 如何使用导航图而不默认加载 fragment ?

java - 如何摆脱使用 Spring Boot 时 Detekt 发出的 SpreadOperator 性能警告?

android - 运行 Android 8.0 的三星设备上的共享元素转换崩溃

spring - WebFlux 功能 : How to detect an empty Flux and return 404?

gradle - Gradle Kotlin DSL中的closureOf和delegateClosureOf有什么区别

reactjs - 如何将 SVG 与 kotlin-react 结合使用

java - 在某个 View 上滑动时禁用 ViewPager 滑动