枚举认识

109 阅读1分钟

枚举

枚举:用于列举几个固定不变的值,它是一种和类相似的结构

  • 枚举编译后,会产生独立的字节码文件
  • 枚举可以有字段、方法、构造方法
  • 枚举构造方法不能使用public和protected修饰,private和不写可以

枚举定义

定义方法:

enum 枚举名{
}

定义一个城市名的枚举,并获取枚举值CD

public class Test {
    public static void main(String[] args) {
        System.out.println(CityEnum.CD);
    }
}

enum CityEnum {
    /**
     * 成都
     */
    CD;
    CityEnum(){
        System.out.println("枚举的构造方法");
    }
}

运行结果如下:

枚举的构造方法
CD

说明调用枚举值时,会先调用构造方法


案例:

public class Test {
    public static void main(String[] args) {
        System.out.println(CityEnum.CD);
        System.out.println(CityEnum.BJ.getCityName());
    }
}

enum CityEnum {
    /**
     * 成都
     */
    CD,
    /**
     * 北京
     */
    BJ("北京");

    private String cityName;

    CityEnum(){
    }

    CityEnum(String cityName){
        this.cityName = cityName;
    }

    public String getCityName(){
        return cityName;
    }
}

运行结果如下:

CD
北京

枚举遍历

public class Test {
    public static void main(String[] args) {
        //遍历枚举
        for (CityEnum e:CityEnum.values()) {
            System.out.println(e);
        }
    }
}

enum CityEnum{
	//只有一句,可不写分号
	CD,BJ,SH
}

运行结果如下:

CD
BJ
SH