scala - 我应该更喜欢 Scala 中的密封类还是枚举?

标签 scala enums

我正在尝试实现 Plurk API竞标 Scala,但我有一个设计选择要做。

例如,Plurk 用户的性别属性可以是“男”、“女”、“其他”之一。

sealed trait Gender
object Male extends Gender
object Female extends Gender
object Others extends Gender

问题是我应该像上面的代码示例一样更喜欢密封的类/对象,而不是 Enumeration 来表示枚举类型?

因为我发现我在使用其他Scala库时很少遇到Enumeration,而且很多Actor的教程都使用密封的类/对象来表示Actor的消息。

那么这是否意味着在 Scala 中,密封类是比枚举更好/传统的选择?

最佳答案

如果你不需要迭代你的 Gender 对象或者需要像 next 这样的方法和 previous 、类和对象是正确的解决方案。

如果您需要“类和对象”和“scala.Enumeration”的功能thisthis您可能会感兴趣的问题。

关于scala - 我应该更喜欢 Scala 中的密封类还是枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4236251/

相关文章:

scala - 当左侧键为 Option[] 时,Spark left outer join

scala - 我在哪里对 ResultSet 进行了多次迭代?或者为什么它被关闭?

java - 在 Java 中序列化枚举有好的替代方法吗?

c - C中文本查找的通用枚举

c# - 为什么 switch for enum 接受隐式转换为 0 但不接受任何其他整数?

scala - scala方法中的单个默认参数

scala - Scala 中无限流的嵌套迭代

scala - 单个 RDD 记录可以有多大?

java - 使用枚举数据类型发送 JSON

swift - 在核心数据中保存没有原始值的快速枚举