在 Kotlin 中实现嵌套枚举的最佳方式是什么?

3

在Swift中,你可以这样做:

最初的回答:

public enum OuterEnum {
    public enum InnerEnum {
       ...
    }
}

在 Kotlin 中,将枚举嵌套在另一个枚举中的相当方式是什么?

(注:Original Answer 的意思是“最初的回答”)


不需要创建新的包,保持有条理。 - Tim Nuwin
1个回答

15

您可以按照以下方式创建内部枚举:

enum class OuterEnum {
    OUTER_ITEM1;
    enum class InnerEnum {
        INNER_ITEM1, INNER_ITEM2
    }
}

如果您的 OuterEnum 没有任何项目:

enum class OuterEnum {
    ;
    enum class InnerEnum {
        INNER_ITEM1, INNER_ITEM2
    }
}

请注意,在声明InnerEnum之前有一个分号。 要使用它,只需调用:
val item = OuterEnum.InnerEnum.INNER_ITEM1

有没有办法让它也作为函数参数工作?例如,如果我有一个fun someWork(type: OuterEnum),那么它将不会接受InnerEnum作为参数。 - George Shalvashvili
我相信你必须将type: OuterEnum.InnerEnum作为参数才能使其正常工作。 - Sergio

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接