JAVA —— 枚举(Enum)

    技术2022-07-10  130

    1.枚举是一个特殊的类,一般用来表示一组特殊的常量

    //枚举是一个特殊的类,一般用来表示一组特殊的常量 enum Color { //定义颜色常量:红色、绿色、蓝色 RED, GREEN, BLUE; }

    2.使用枚举类

    //使用枚举类 class useEnum { public static void main(String[] args) { Color color = Color.RED; System.out.println(color); } }

    3.内部类中使用枚举类

    //内部类中使用枚举类 class useEnum2 { enum Color { RED, GREEN,BLUE; } public static void main(String[] args) { Color color = Color.RED; System.out.println(color); } }

    4.迭代枚举元素

    //迭代枚举元素 class eachData { public static void main(String[] args) { for (Color color : Color.values()){ System.out.println(color); } } }

    5.在switch中使用枚举类

    //在switch中使用枚举类 class switchEnum { public static void main(String[] args) { Color color = Color.BLUE; switch (color) { case RED: System.out.println("red"); break; case GREEN: System.out.println("green"); break; case BLUE: System.out.println("blue"); break; } } }

    6.values() 、 ordinal() 、valueOf()方法

    /**枚举类默认继承了Enum类,并且实现了java.lang.Seriablizable 和 java.lang.Comparable两个接口 *下面三个方法都位于java.lang.Enum中 * values(): 返回枚举类中的每个值 * ordinal(): 可以找到每个枚举常量的索引,就像数组索引那样 * valueOf(): 返回指定字符串值的枚举常量 */ class enumMethods { public static void main(String[] args) { //1.调用values() Color color[] = Color.values(); //2.迭代枚举 for (Color color1 : color) { //3.查看索引 System.out.println(color1 + "的索引是:"+ color1.ordinal()); } //4.使用valueOf()返回枚举常量,不存在会报错IllegalArgumentException System.out.println(Color.valueOf("RED")); System.out.println(Color.valueOf("PINK")); } }

    7.枚举类成员

    /**枚举类成员 * 枚举和普通类一样都可以用自己的变量、方法和构造函数,构造函数只能使用private访问修饰符,所以外部无法调用 * 枚举既可以包含具体方法,也可以包含抽象方法。如果枚举类具有抽象方法,则枚举类的每个实例都必须实现它。 */ enum Color2 { RED, GREEN, BLUE; //构造函数 private Color2(){ System.out.println("调用了构造函数;" + this.toString()); } //普通函数 public void colorInfo() { System.out.println("颜色"); } public static void main(String[] args) { Color2 c2 = Color2.RED; System.out.println(c2); c2.colorInfo(); } }

    详细学习请查看:https://www.runoob.com/java/java-enum.html

    Processed: 0.009, SQL: 9