您不能在标识符中间放置空格。
这样做会结束该标识符,并且解析器假定接下来出现的任何内容都是该语句上下文中的有效标记。合法的地方很少(如果有的话)。
传统的 Java 值名称是:
INDIA, // Or India,
RUSSIA, // Russia,
NORTH_AMERICA; // NorthAmerica;
enum 可以具有关联的属性,例如人类可读的名称,例如,
public enum CountryAndOneContinent {
INDIA("India"),
RUSSIA("Russia"),
NORTH_AMERICA("North America");
private String displayName;
CountryAndOneContinent(String displayName) {
this.displayName = displayName;
}
public String displayName() { return displayName; }
// Optionally and/or additionally, toString.
@Override public String toString() { return displayName; }
}
我对使用toString 提供表示层表示感到矛盾。
我更喜欢方法明确地传达其目的——它更具表现力和明显。
toString 非常通用,并且只允许单一表示。可能需要多种输出格式,具体取决于toString 不允许的上下文、参数等。
toString 的优点包括对对象使用默认字符串操作,在这种情况下,使用valueOf 直接从人类可读版本转换为枚举值。