java Enum 枚举

简介

java 枚举是一个特殊的类,一般表示常量,比如一周7天,一年4个季节。

示例

enum LevelEnum {
    LOW,
    MEDIUM,
    HIGH
}

遍历

public class EnumTest {
    public static void main(String[] args) {
        LevelEnum myVal = LevelEnum.LOW;
        System.out.println(myVal);

        // for 循环
        for (LevelEnum level : LevelEnum.values()) {
            System.out.println(level + "  name->" + level.name() + " ordinal->" + level.ordinal());
        }
    }
}

输出

LOW
LOW  name->LOW ordinal->0
MEDIUM  name->MEDIUM ordinal->1
HIGH  name->HIGH ordinal->2

Enum定义

public abstract class Enum<E extends Enum<E>>
        implements Comparable<E>, Serializable {
    /**
     * The name of this enum constant, as declared in the enum declaration.
     * Most programmers should use the {@link #toString} method rather than
     * accessing this field.
     */
    private final String name;
...
}

enum 定义的枚举类默认继承了 java.lang.Enum 类,并实现了 java.lang.Serializable 和 java.lang.Comparable 两个接口。

values(), ordinal() 和 valueOf() 方法位于 java.lang.Enum 类中:

  • values() 返回枚举类中所有的值
  • ordinal()方法可以找到每个枚举常量的索引,就像数组索引一样
  • valueOf()方法返回指定字符串值的枚举常量

 System.out.println(LevelEnum.valueOf("MEDIUM"));

 

 
posted @ 2023-01-27 12:47  jihite  阅读(69)  评论(0编辑  收藏  举报