【发布时间】:2022-01-12 16:27:51
【问题描述】:
Java 枚举有 name() 方法,但 scala 3 没有。
如何在 scala 3 中获取枚举的名称?
enum Color:
case Red, Green, Blue
【问题讨论】:
标签: scala enumeration scala-3
Java 枚举有 name() 方法,但 scala 3 没有。
如何在 scala 3 中获取枚举的名称?
enum Color:
case Red, Green, Blue
【问题讨论】:
标签: scala enumeration scala-3
toString() 方法给出枚举的名称。
enum Color:
case Red, Blue, Yellow
println(Color.Red.toString()) //=> Red
Scala 3 enum 还可以扩展 java Enum 类并使用name() 方法。
enum Color extends Enum[Color]:
case Red, Blue, Yellow
println(Color.Red.name()) //=> Red
【讨论】:
case Complicated(r: Int, g:Int, b:Int)。在这些情况下,.productPrefix 会为您提供案例名称(此处为Complicated)。
case Complicated(r: Int, g:Int, b:Int) 的细节吗?
enum 关键字也可用于定义不直接转换为 Java 枚举的代数数据类型:docs.scala-lang.org/scala3/reference/enums/adts.html