public final static int SPRING = 0;
ist ein int-Typ, sodass alle Nummern empfangen werden können.enum model name
//Wenn Sie auf die Saison zugreifen, geben Sie SPRING, Season ein.SPRING
public enum Season {
SPRING,
SUMMER,
AUTUMN,
WINTER,
}
public class EnumConstClient {
public static void main(String[] args) {
var ecs = new EnumConstSeason();
ecs.processSeason(EnumConstSeason.SPRING);
ecs.processSeason(4);
ecs.processSeason(EnumConstMonth.JANUARY);
}
}
```java
public class EnumSeason {
public void processSeason(Season season) {
System.out.println(season);
}
public static void main(String[] args) {
var es = new EnumSeason();
es.processSeason(Season.SPRING);
//Season型で定義されてない定数はエラー
// es.processSeason (4); // Kompilierungsfehler
// es.processSeason (EnumConstMonth.JANUARY); // Kompilierungsfehler
}
}
``
# Aufgezählte Mitglieder
* ** name () **: Liefert den Namen der Aufzählungskonstante
* ** original () **: Ruft die Reihenfolge der Aufzählungskonstanten ab
* ** toString () **: Ruft den Namen der Aufzählungskonstante ab. Möglicherweise wurde diese durch die entsprechende Zeichenfolgendarstellung für jeden Typ ersetzt
* ** values () **: Liefert alle Aufzählungskonstanten
* ** valueOf (String name) **: Ruft die Aufzählungskonstante vom Namen ab
```java
public class EnumMethod {
public static void main(String[] args) {
for (var se : Season.values()) {
//Indexnummer:Ausgabe nach Namen q
System.out.println(se.ordinal() + ":" + se.toString());
}
//Ruft den Aufzählungstyp aus der Zeichenfolge ab
var s = Season.valueOf("SPRING");
System.out.println(s instanceof Season); //true
}
}
//Konstruktor mit Aufzählungskonstante aufrufen
public enum Season {
SPRING(0, "Frühling"),
SUMMER(1, "Sommer-"),
AUTUMN(2, "Herbst"),
WINTER(4, "Winter");
//Felddeklaration
private int code; //Saisoncode
private String jpName; //Anzeigename
//Konstrukteur
private Season(int code, String jpName) {
this.code = code;
this.jpName = jpName;
}
//Methode
public int toSeasonValue() {
return this.code;
}
//Getter bereit
@Override
public String toString() {
return this.jpName;
}
//public abstract void show();
}
public class EnumBasic {
public static void main(String[] args) {
System.out.println(Season.SPRING); //Frühling
System.out.println(Season.SPRING.toString()); //Frühling
System.out.println(Season.SPRING.toSeasonValue()); //0
}
}
public enum Season {
//Aufzählungskonstante
SPRING(0, "Frühling") {
@Override
public void show() {
System.out.println("Der Frühling ist Akebono");
}
},
SUMMER(1, "Sommer-") {
@Override
public void show() {
System.out.println("Sommer ist Nacht");
}
},
AUTUMN(2, "Herbst") {
@Override
public void show() {
System.out.println("Der Herbst ist Abenddämmerung");
}
},
WINTER(4, "Winter") {
@Override
public void show() {
System.out.println("Arbeite hart im Winter");
}
};
//Felddeklaration
private int code; //Saisoncode
private String jpName; //Anzeigename
//Konstrukteur
private Season(int code, String jpName) {
this.code = code;
this.jpName = jpName;
}
//Methode
public int toSeasonValue() {
return this.code;
}
@Override
public String toString() {
return this.jpName;
}
//Funktionen, die Aufzählungskonstanten implementieren sollten (abstrakte Methoden)
public abstract void show();
}
public class EnumMethod {
public static void main(String[] args) {
for (var se: Season.values()) {
se.show(); //Frühling ist neu, Sommer ist Nacht, Herbst ist Abenddämmerung und Winter ist"
}
}
}
//Groß- und Kleinschreibung wird nicht berücksichtigt
var ptn = Pattern.compile("^[a-z0-9._-]*",
Pattern.CASE_INSENSITIVE | Pattern.MULTILINE);`
import java.util.regex.Pattern;
public class EnumBit {
public static void main(String[] args) {
var flags = Pattern.CASE_INSENSITIVE | Pattern.MULTILINE;
if ((flags & Pattern.COMMENTS) != 0) {
System.out.println("KOMMENTARE ist gültig.");
}
}
}
//Definition des Aufzählungstyps
public enum PatternFlag {
UNIX_LINES,
CASE_INSENSITIVE,
COMMENTS,
MULTILINE,
}
//Aufzählungstyp empfangen
Pattern.compile("^[a-z0-9._-]*",
EnumSet.of(PatternFlag.CASE_INSENSITIVE, PatternFlag.MULTILINE));
Recommended Posts