在我的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";
...
}
Run Code Online (Sandbox Code Playgroud)
所以我可以在我的项目的许多不同的地方使用它:
...
String userName = user.getProperty(Constants.KIND_NAME);
...
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已经找到了一些在Kotlin中实现它的不同方法,例如:伴随对象或数据类.什么是Kotlin中最好的等效代码?
ice*_*000 10
@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"
Run Code Online (Sandbox Code Playgroud)
您可能想要使用class带有 acompaion object和一些const vals 的简单形式:
class Constants {
companion object {
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"
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1160 次 |
| 最近记录: |