我知道有很多选择可以达到我的期望,但是我不会采用这种解决方案,因为它对我来说最舒适。我希望使用以数字开头的枚举,就像这样。
public enum Quality {
1080p,
720p,
BlueRay //this one OK
}
然后在转换为字符串时像这样使用它:
Quality.1080p.name();
为什么不可能?
答案 0 :(得分:1)
因为Java语言不允许变量名以数字开头-只能是字母或下划线。第一个字符之后的任何字符都可以是数字。这样做的主要原因是简化解析,并防止解析器无法分辨符号是数字还是变量名的情况。
例如,如果数字在变量开头有效,则可以执行以下操作:
String 1 = "string";
System.out.println(1);
此打印为1还是“字符串”?他们通过不允许它来避免问题。许多(大多数?)语言都有该限制。