final static
avec des constantes qui n'ont aucune signification dans la valeur elle-même et qui ont une signification en tant que symbolespublic final static int SPRING = 0;
est un type int, donc tous les nombres peuvent être reçus.nom de modèle enum
//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
}
}
;
pour séparer la constante du 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
}
}
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"
}
}
}
//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