Une énumération est une collection de constantes entières nommées, utilisée pour déclarer un ensemble de constantes avec des identifiants. Les énumérations sont très courantes dans la vie quotidienne. Par exemple, le sexe d'une personne ne peut être que « homme » ou « femme », une semaine ne peut être qu'un des sept jours, etc. Ainsi, lorsqu'une variable a plusieurs valeurs possibles fixes, elle peut être définie comme un type énumération.
Les classes d'énumération Java sont définies à l'aide du mot-clé enum, chaque constante est séparée par une virgule et un point-virgule est utilisé à la fin ; enum défini La classe d'énumération hérite de la classe java.lang.Enum par défaut et implémente les deux interfaces java.lang.Seriallessly et java.lang.Comparable. Les méthodes
values(), ordinal() et valueOf() se trouvent dans la classe java.lang.Enum :
values() renvoie toutes les valeurs de la classe énumération. La méthode ordinal() peut trouver l'index de chaque constante enum, tout comme l'index d'un tableau. La méthodeméthode Values()
peut renvoyer tous les membres de l'énumération sous la forme d'un tableau, et vous pouvez également obtenir des membres du type énumération via cette méthode. enum Season{ spring,summer,autumn,winter; // 常量有 spring, summer, autumn,winter,分别表示春天,夏天,秋天,冬天,系统会自动添加 public static final 修饰 }
Résultat :
values( ) 方法
可以将枚举的所有成员以数组形式返回,也可以通过该方法获取枚举类型的成员。
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); } }
结果:
ordinal() 方法
ordinal()
peut obtenir la position d'index d'un membre dans l'énumération. L'exemple suivant crée un Signal de type énumération contenant 3 membres, puis appelle la méthode ordinal() pour afficher les membres et leurs positions d'index correspondantes.
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); } } }
Result:
valueOf() renvoie la constante d'énumération de la valeur de chaîne spécifiée
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()); } } }
Result
Enumeration La numération est la même que Les classes ordinaires peuvent également utiliser leurs propres variables, méthodes et constructeurs. Le constructeur ne peut utiliser que des modificateurs d'accès privés, il ne peut donc pas être appelé en externe.
Les énumérations peuvent contenir à la fois des méthodes concrètes et abstraites. Si une classe d'énumération possède une méthode abstraite, chaque instance de la classe d'énumération doit l'implémenter.
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")); } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!