Scala中的枚举数据类型可以实现为String
enum Currency {CAD, EUR, USD }
在Java而不是
object Currency extends Enumeration {
val CAD, EUR, USD = Value
}
哪个数据值是二进制?
我在Java和Scala中都编写了相同的功能。枚举数据保存到数据库中。 Java版本与String值很好地兼容,但不适用于二进制数据的Scala版本。
答案 0 :(得分:1)
你可以这样做:
object Currency extends Enumeration {
type Currency = String
val CAD = "CAD"
val EUR = "EUR"
val USD = "USD"
}
然后每个的基础类型都是实际的String
。
答案 1 :(得分:1)
您可以尝试使用toString。
Currency.Cad.toString() == "Cad"
Currency.withName("Cad") == Currency.Cad
此外,如果您希望选择可读的格式,则可以选择字符串
object Currency extends Enumeration {
val CAD = Value("Canedian Dollar")
val EUR, USD = Value
}
有关完整信息,请参见this blog post。