Heim >Java >javaLernprogramm >So verwenden Sie Aufzählungen in Java
Eine Aufzählung ist eine Sammlung benannter Ganzzahlkonstanten, die zum Deklarieren einer Reihe von Konstanten mit Bezeichnern verwendet wird. Aufzählungen kommen im täglichen Leben sehr häufig vor. Beispielsweise kann das Geschlecht einer Person nur „männlich“ oder „weiblich“ sein, eine Woche kann nur einer der sieben Tage sein usw. Wenn eine Variable mehrere feste mögliche Werte hat, kann sie auf diese Weise als Aufzählungstyp definiert werden.
Java-Aufzählungsklassen werden mit dem Schlüsselwort enum definiert, jede Konstante wird durch ein Komma getrennt und am Ende wird ein Semikolon verwendet;
enum Season{ spring,summer,autumn,winter; // 常量有 spring, summer, autumn,winter,分别表示春天,夏天,秋天,冬天,系统会自动添加 public static final 修饰 }
enum Season{ spring,summer,autumn,winter; // 常量有 spring, summer, autumn,winter,分别表示春天,夏天,秋天,冬天,系统会自动添加 public static final 修饰 } public class SeasonEnum { public static void main(String[] args) { System.out.println("请输入季节"+"\n"+"1、春天"+"\n"+"2、夏天"+"\n"+"3、秋天"+"\n"+"4、冬天"); Scanner scan =new Scanner(System.in); int seasons= scan.nextInt(); change(seasons); } private static void change(int seasons) { Season season=Season.spring; switch (seasons){ case 1: season=Season.spring; break; case 2: season=Season.summer; break; case 3: season=Season.autumn; break; case 4: season=Season.winter; break; } System.out.println(season); } }
enum definiert Die Aufzählungsklasse erbt standardmäßig die Klasse java.lang.Enum und implementiert die beiden Schnittstellen java.lang.Serializable und java.lang.Comparable. Die Methoden
values(), ordinal() und valueOf() befinden sich in der Klasse java.lang.Enum:
values() gibt alle Werte in der Aufzählungsklasse zurück. Die
ordinal()-Methode kann den Index jeder Enum-Konstante finden, genau wie der Array-Index. Die Methode
valueOf() gibt die Aufzählungskonstante des angegebenen Zeichenfolgewerts zurück.
values( )-Methode
kann alle Mitglieder der Aufzählung in Form eines Arrays zurückgeben, und Sie können über diese Methode auch Mitglieder des Aufzählungstyps abrufen. values( ) 方法
可以将枚举的所有成员以数组形式返回,也可以通过该方法获取枚举类型的成员。
enum Season{ spring,summer,autumn,winter; // 常量有 spring, summer, autumn,winter,分别表示春天,夏天,秋天,冬天,系统会自动添加 public static final 修饰 } } public class SeasonEnum { public static void main(String[] args) { // 迭代季节 for (Season season : Season.values()) { System.out.println(season); } } }
结果:
ordinal() 方法
enum Season{ spring,summer,autumn,winter; // 常量有 spring, summer, autumn,winter,分别表示春天,夏天,秋天,冬天,系统会自动添加 public static final 修饰 } } public class SeasonEnum { public static void main(String[] args) { // 迭代季节 for (Season season : Season.values()) { // ordinal可以找到每个枚举常量的索引,就像数组索引一样。 System.out.println(season+" 索引为 "+season.ordinal()); } } }
Ergebnis:
ordinal() Methode
ordinal()
kann die Indexposition eines Mitglieds in der Aufzählung ermitteln. Im folgenden Beispiel wird ein Signal vom Aufzählungstyp erstellt, das drei Mitglieder enthält, und dann wird die Methode ordinal() aufgerufen, um die Mitglieder und ihre entsprechenden Indexpositionen auszugeben. enum Season{ spring,summer,autumn,winter; // 常量有 spring, summer, autumn,winter,分别表示春天,夏天,秋天,冬天,系统会自动添加 public static final 修饰 } } public class SeasonEnum { public static void main(String[] args) { // 使用 valueOf() 返回枚举常量,不存在的会报错 IllegalArgumentException System.out.println(Season.valueOf("summer")); // System.out.println(Season.valueOf("summ")); } }Ergebnis:
valueOf()-Methode gibt die Aufzählungskonstante des angegebenen Zeichenfolgenwerts zurück
enum Season{ spring,summer,autumn,winter; // 常量有 spring, summer, autumn,winter,分别表示春天,夏天,秋天,冬天,系统会自动添加 public static final 修饰 // 构造方法 private Season(){ System.out.println("Constructor called for :" +this.toString()); } public void SeasonInfo(){ System.out.println("spring"); } } } public class SeasonEnum { public static void main(String[] args) { Season season=Season.spring; season.SeasonInfo(); } }
Ergebnis
🎜🎜🎜🎜Enumeration-Klassenmitglieder🎜 🎜Aufzählung ist dasselbe wie Gewöhnliche Klassen können auch ihre eigenen Variablen, Methoden und Konstruktoren verwenden. Der Konstruktor kann nur private Zugriffsmodifikatoren verwenden und kann daher nicht extern aufgerufen werden. 🎜🎜Aufzählungen können sowohl konkrete als auch abstrakte Methoden enthalten. Wenn eine Aufzählungsklasse über eine abstrakte Methode verfügt, muss jede Instanz der Aufzählungsklasse diese implementieren. 🎜rrreeeDas obige ist der detaillierte Inhalt vonSo verwenden Sie Aufzählungen in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!