如何声明一组固定字符串的Kotlin类型?

时间:2018-11-20 18:57:05

标签: kotlin

在Typescript中,我可以将一组有限的字符串声明为一种类型:

declare type Status = 'GOOD' | 'MEDIUM' | 'POOR';

然后我可以使用这种类型来限制分配给status属性的字符串:

interface Foo {
  status: Status;
}

我如何在Kotlin中做到这一点?

1 个答案:

答案 0 :(得分:4)

在Kotlin中,您将为此创建一个enum

enum class Status {
    GOOD, MEDIUM, POOR
}

在这种基本情况下,您可以按以下方式使用enum常量的name

val state: Status = Status.MEDIUM
val stateString: String = state.name

如果您想拥有更复杂的枚举,可以为它们提供自定义属性:

enum class Status(val description: String) {
    GOOD("Good State"), MEDIUM("Medium State"), POOR("Poor State")
}