如何在 Java 中创建一个带有连字符的值的静态枚举?
如何创建如下所示的静态枚举
static enum Test{
employee-id,
employeeCode
}
到目前为止,我收到错误。
how to create the static enum like below
static enum Test{
employee-id,
employeeCode
}
As of now, I am getting errors.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
这对于 Java 来说是不可能的,因为每个项目都必须是有效的标识符(并且有效的 Java 标识符可能不包含破折号)。
最接近的事情是将自定义属性添加到每个枚举值或覆盖 toString 方法,因此您可以执行以下操作:
This is not possible with Java, because each item has to be a valid identifier (and valid Java identifiers may not contain dashes).
The closest thing would be adding a custom property to each enum value or override the
toString
method, so you can do the following:这不是特定于枚举的。这适用于 Java 中的所有标识符:类名、方法名、变量名等。根本不允许使用连字符。您可以在 Java 中找到所有有效字符语言规范,第 3.8 章“标识符”。
为了说明问题:
您期望这里发生什么?
This is not specific to enums. This applies to all identifiers in Java: class names, method names, variable names, etcetera. Hyphens are simply not allowed. You can find all valid characters in Java Language Specification, chapter 3.8 "Identifiers".
To illustrate the problem:
What would you expect to happen here?
你不能这样做。枚举常量必须是合法的 Java 标识符。合法的 Java 标识符不能包含
-
。如果_
是可接受的替代品,您可以使用它。You can not do this. Enum constants must be legal Java identifiers. Legal Java identifiers can not contain
-
. You can use_
if that's an acceptable substitute.不能使用连字符声明枚举常量。
如果要检索连字符作为枚举的值,则应该在枚举中有一个 value 方法,您可以在其 toString 方法中使用该方法,也可以在枚举上访问此方法以获取连字符值
You cannot declare the enum constant with a hyphen.
If you hyphen to be retrieved as the value of the enum, you should have a value method in enum which you either use in its toString method or access this method on the enum to get the hyphen value