[Java] Type d'énumération

//Lors de l'accès au type de saison PRINTEMPS, Saison.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); // Erreur de compilation
 // es.processSeason (EnumConstMonth.JANUARY); // Erreur de compilation
  }
}
``

# Membres énumérés
 * ** name () **: Récupère le nom de la constante d'énumération
 * ** original () **: Obtenir l'ordre des constantes d'énumération
 * ** toString () **: Obtenez le nom de la constante d'énumération, il peut avoir été remplacé par la représentation sous forme de chaîne appropriée pour chaque type
 * ** values () **: Récupère toutes les constantes d'énumération
 * ** valueOf (String name) **: Récupère la constante d'énumération à partir du nom

```java
public class EnumMethod {
  public static void main(String[] args) {
    for (var se : Season.values()) {
      //Numéro d'index:Sortie par nom q
      System.out.println(se.ordinal() + ":" + se.toString());
    }
    //Obtenir le type d'énumération à partir de la chaîne de caractères
    var s = Season.valueOf("SPRING");
    System.out.println(s instanceof Season); //true
  }
}

Définition de membre

//Constructeur d'appel avec constante d'énumération
public enum Season {
    SPRING(0, "printemps"),
    SUMMER(1, "été"),
    AUTUMN(2, "l'automne"),
    WINTER(4, "hiver");

  //Déclaration de terrain
  private int code; //Code de saison
  private String jpName; //Afficher un nom
  //constructeur
  private Season(int code, String jpName) {
    this.code = code;
    this.jpName = jpName;
  }
  //Méthode
  public int toSeasonValue() {
    return this.code;
  }
  //Préparez-vous
  @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); //printemps
    System.out.println(Season.SPRING.toString()); //printemps
    System.out.println(Season.SPRING.toSeasonValue()); //0
  }
}

Ayez votre propre implémentation de chaque constante d'énumération

public enum Season {
  //Constante d'énumération
  SPRING(0, "printemps") {
    @Override
    public void show() {
      System.out.println("Le printemps est Akebono");
    }
  },
  SUMMER(1, "été") {
    @Override
    public void show() {
      System.out.println("L'été est la nuit");
    }
  },
  AUTUMN(2, "l'automne") {
    @Override
    public void show() {
      System.out.println("L'automne est le crépuscule");
    }
  },
  WINTER(4, "hiver") {
    @Override
    public void show() {
      System.out.println("Travaillez dur en hiver");
    }
  };
  //Déclaration de terrain
  private int code; //Code de saison
  private String jpName; //Afficher un nom
  //constructeur
  private Season(int code, String jpName) {
    this.code = code;
    this.jpName = jpName;
  }
  //Méthode
  public int toSeasonValue() {
    return this.code;
  }

  @Override
  public String toString() {
    return this.jpName;
  }
  //Fonctions que les constantes d'énumération devraient implémenter (méthodes abstraites)
  public abstract void show();
}
public class EnumMethod {
  public static void main(String[] args) {
    for (var se: Season.values()) {
      se.show(); //Le printemps est nouveau, l'été est la nuit, l'automne est le crépuscule et l'hiver est"
    }
  }
}

Bitfield

//Mode multiligne insensible à la casse activé
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("COMMENTAIRES est valide.");
    }
  }
}
//Définition du type d'énumération
public enum PatternFlag {
  UNIX_LINES,
  CASE_INSENSITIVE,
  COMMENTS,
  MULTILINE,
}
//Recevoir le type d'énumération
Pattern.compile("^[a-z0-9._-]*",
EnumSet.of(PatternFlag.CASE_INSENSITIVE, PatternFlag.MULTILINE));

Recommended Posts

[Java] Type d'énumération
Conversion de type Java
Java Type facultatif
Java double type
[Java] Type Express Enum sans utiliser le type Enum (énumération)
[Java] Type de données ①-Type de base
[Swift] Type d'énumération de type partagé
[Java, Kotlin] Variance de type
Champ de type de classe Java
Détermination de type en Java
Étudier Java # 1 (type typique)
[Java] Conversion de type de date
[Java] Conversion de type de liste / type de tableau
Mémo d'apprentissage Java (type de données)
[Java] Comparaison de la vitesse de conversion de type
Etude de Java # 7 (Type de syntaxe de branche)
Java
Énumération de toutes les combinaisons Java
Java Primer Series (conversion de type)
Java
[Java] Type de données / produit matriciel (produit matriciel AOJ ⑧)
java (utilisez le type de classe pour le champ)
[Java] Comparaison correcte du type String
Comment utiliser le type enum Java
Apprendre Java (0)
[Java Siler] À propos de l'inférence de type par var
[Java] tableau
Java protégé
Module [Java]
Tableau Java
[Java] Conversion de type implicite (somme AOJ10 de nombres)
Étudier Java ―― 9
Java scratch scratch
Astuces Java, astuces
Conversion de type de données de date Java (date, calendrier, chaîne)
Méthodes Java
Méthode Java
Concernant la comparaison d'équivalence de type de chaîne en Java
Tableau Java
[Java] ArrayDeque
[Explication facile à comprendre! ] Conversion de type de type de référence en Java
java (méthode)
Journée Java 2018
Chaîne Java
java (tableau)
Java statique
Sérialisation Java
java débutant 4
JAVA payé
Utiliser le type de données PostgreSQL (jsonb) à partir de Java
Étudier Java ―― 4
Java (ensemble)
tri shell java
Découvrez comment Java protège l'intégrité des types
[Java] compareTo
Étudier Java -5
[Java ~ A propos de la définition de variable et de la conversion de type ~] Note d'étude