Nie można umieścić spacji w środku identyfikatora.
Powoduje to, że ten identyfikator i parser zakładają, że wszystko, co nadejdzie, jest ważnym tokenem w kontekście tej instrukcji. Jest kilka (jeśli w ogóle) miejsc, które byłyby legalne.
nazwy wartość Konwencjonalna Java byłoby:
INDIA, // Or India,
RUSSIA, // Russia,
NORTH_AMERICA; // NorthAmerica;
enum
może mieć właściwości towarzyszące, takie jak człowieka czytelnych nazw np
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; }
}
jestem ambiwalentny temat korzystania toString
dostarczać reprezentacji warstwy prezentacji.
Wolę metody, które wyraźnie wyrażają swój cel. – jest bardziej wyrazisty i oczywisty.
toString
jest dość ogólna i umożliwia tylko pojedynczą reprezentację. W zależności od kontekstu, parametrów itp. Może być wymaganych wiele formatów wyjściowych, na które nie zezwala toString
.
Zalety toString
obejmują użycie domyślnych operacji na łańcuchach na obiekcie, aw tym przypadku użycie valueOf
do bezpośredniej translacji z wersji czytelnej dla człowieka do wartości wyliczeniowej.
Dostęp do tego członka również nie byłby możliwy; pomyśl o 'myEnum x = myEnum.north America'. Nie będzie to możliwe, ponieważ jeśli pozwolisz na takie nazwy, gdzie ustawić koniec identyfikatora? Może powinna być dołączona następna linia kodu lub oświadczenie? – Matten
NIE używaj małych liter do wyliczania, a nawet do nazwy klasy! – banterCZ