Нельзя ставить пробел в середине идентификатора.
Это приводит к тому, что идентификатор и анализатор предполагают, что все, что будет дальше, является допустимым токеном в контексте этого оператора.Есть несколько (если есть) мест, которые были бы законными.
Обычные имена значений 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
для прямого перевода из читаемой человеком версии в значение enum.