syntax - 有没有办法在 Kotlin 的数据类中嵌套枚举?

标签 syntax enums kotlin

有没有办法在 Kotlin 的数据类中嵌套枚举?

data class D(val a:Any) {
    enum class E {F,G}
    ...
}

或者在函数中内联声明它?
fun foo() {
    enum class E {F,G}
    doSomething()
}

我找不到有关允许声明枚举的规则的文档。

最佳答案

是的,您可以将枚举嵌套在数据类中,但不能嵌套在函数中:

data class Outer(val a: InnerEnum) {
    enum class InnerEnum { A, B }
}

fun foo() {
    val o = Outer(Outer.InnerEnum.A)
    println(o) // --> Outer(a=A)
}

关于syntax - 有没有办法在 Kotlin 的数据类中嵌套枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44911809/

相关文章:

java - 我正在编写披萨订购程序,我应该在我的面包皮类中使用枚举吗?

Scala:枚举为什么类型不安全?

java - Gson 使用通用代码将枚举序列化和反序列化为整数

android - 可在多个 MPP 中重用的 Kotlin 公共(public)库

c++ - 当 for 循环的停止条件是一个单独的指针变量时,这意味着什么?

ruby-on-rails - 如何通过连接表中基于枚举的关系创建?

c - 用于无括号、空格敏感的 C 语法的工具

android - Retrofit2+Kotlin 如何在获取响应作为数据类时查看原始 json

javascript - 如何使用 jquery 访问给定 div 的字母数字 ID?(语法)

python - 在 python 的函数中定义函数有什么好处?