我有以下enum
object TestKeys extends Enumeration{
type TestKeys = Value
val _id , uuid Status.Date= Value
}
我需要在Status
和Date
之间添加点,但Eclipse不允许我。我做了一些研究和here。我发现DescriptionAttribute
中有一个c#
,但它在Scala中不起作用请帮助我如何在枚举值中添加点
答案 0 :(得分:3)
你可以使用名称后面的反引号:
scala> object TestKeys extends Enumeration{
type TestKeys = Value
val _id, `Status.Date` = Value
}
defined object TestKeys
但请注意,有一些意想不到的副作用:
scala> TestKeys.withName("Status.Date")
java.util.NoSuchElementException: No value found for 'Status.Date'
at scala.Enumeration.withName(Enumeration.scala:124)
... 33 elided
scala> TestKeys.withName("Status$u002EDate")
res7: TestKeys.Value = Status$u002EDate
scala> TestKeys.values
res8: TestKeys.ValueSet = TestKeys.ValueSet(_id, Status$u002EDate)
JavaIndentifier中不能有.
:
scala> Character.isJavaIdentifierPart(46) // 46 is '.'
res16: Boolean = false
答案 1 :(得分:1)
如果我理解正确,你需要一种在Scala中用点写一个标识符的方法。如果是这种情况,你可以尝试类似:`Status.Date`。
object TestKeys extends Enumeration{
type TestKeys = Value
val _id , uuid, `Status.Date` = Value
}