Im Kern Java ist die abstrakte Klasse java.lang.Enum
die Basisklasse aller Java-Aufzählungstypen. Es gibt einige allgemeine Methoden wie:Warum ist die Methode valueOf (String name) von enum in der abstrakten Klasse java.lang.Enum nicht definiert?
public final String name()
public final int ordinal()
public static <T extends Enum<T>> T valueOf(Class<T> enumType, String name)
Doch wie wir alle wissen, gibt es auch eine häufig verwendete Methode public static <T extends Enum<T>> T valueOf(String name)
, die nicht angezeigt wird in den Java-API-Dokumenten - https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html - überhaupt. Jeder kann das erklären?
Nun, für einen Anfang, Typ schreiben bedeutet, dass eine solche Methode keine Möglichkeit hätte zu wissen, welcher Typ zurückgeben. –
@OliverCharlesworth Aber die'Enum> T valueOf (String-Name) 'kann in der Tat ohne Problem –
Rui
nicht in dieser Form arbeiten, aber eine nicht-statische Version, Delegieren an die statische Methode könnte nützlich sein. – karakfa