与数字一起使用枚举

时间:2019-07-02 20:16:43

标签: android enums

我知道有很多选择可以达到我的期望,但是我不会采用这种解决方案,因为它对我来说最舒适。我希望使用以数字开头的枚举,就像这样。

public enum Quality {
    1080p,
    720p,
    BlueRay //this one OK
}

然后在转换为字符串时像这样使用它:

Quality.1080p.name();

为什么不可能?

1 个答案:

答案 0 :(得分:1)

因为Java语言不允许变量名以数字开头-只能是字母或下划线。第一个字符之后的任何字符都可以是数字。这样做的主要原因是简化解析,并防止解析器无法分辨符号是数字还是变量名的情况。

例如,如果数字在变量开头有效,则可以执行以下操作:

String 1 = "string";
System.out.println(1);

此打印为1还是“字符串”?他们通过不允许它来避免问题。许多(大多数?)语言都有该限制。