如何声明一组固定字符串的Kotlin类型?
在Typescript中,我可以将一组有限的字符串声明为类型:如何声明一组固定字符串的Kotlin类型?,kotlin,Kotlin,在Typescript中,我可以将一组有限的字符串声明为类型: declare type Status = 'GOOD' | 'MEDIUM' | 'POOR'; 然后,我可以使用此类型来限制分配给status属性的字符串: interface Foo { status: Status; } 在Kotlin中如何执行此操作?在Kotlin中,您将为此创建一个枚举 enum class Status { GOOD, MEDIUM, POOR } 在这种基本情况下,您可以使用枚举常
declare type Status = 'GOOD' | 'MEDIUM' | 'POOR';
然后,我可以使用此类型来限制分配给status
属性的字符串:
interface Foo {
status: Status;
}
在Kotlin中如何执行此操作?在Kotlin中,您将为此创建一个
枚举
enum class Status {
GOOD, MEDIUM, POOR
}
在这种基本情况下,您可以使用枚举
常量的名称
,如下所示:
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")
}
在Kotlin中,您将为此创建一个enum
enum class Status {
GOOD, MEDIUM, POOR
}
在这种基本情况下,您可以使用枚举
常量的名称
,如下所示:
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")
}
你不能直接这么做。如果需要,您可以声明枚举并将每个枚举项从/转换为字符串。您不能直接这样做。如果需要,您可以声明枚举并将每个枚举项从/转换为字符串。感谢@s1m0nw1-如果字符串包含空格或其他古怪字符,您将如何更改解决方案?您可以像普通类一样向枚举添加属性。我将调整answerThank@s1m0nw1-如果字符串有空格或其他古怪字符,您将如何更改解决方案?您可以像普通类一样向枚举添加属性。我将调整答案