*阿炮的Java笔记004号*-枚举怎么写?

112 阅读1分钟

老生常谈…对于大佬们根本都不用看的博客!

对于像我这种菜鸡还是得一步一步的来!如果有错误请大佬们指点指点!

枚举

枚举是什么东西? 这是由JDK5引出来的概念,个人理解:很多时候我们在不同的类和方法中要重复使用一些常量,我们就可以将这些重复性使用的归类成不同的枚举类型,这样我们需要哪种类型的常量就从这个枚举中调用即可。

作为常量

public enum Color {
    RED,
    GREEN,
    WHITE,
    YELLOW
}
    System.out.println(Color.RED);

以前我们定义常量一边都是 public static final String RED = "RED"; 现在我们可以将这种常量归到枚举类里 需要时我们可以进行调用

switch支持enum

swicth支持的数据类型包含一下: 基本数据类型:byte, short, char, int 包装数据类型:Byte, Short, Character, Integer 枚举类型:Enum 字符串类型:String(JDK 7+ )

        Color red = Color.RED;
        switch (red) {
            case RED:
                System.out.println("1");
                break;
            case YELLOW:
                System.out.println("2");
                break;
            case GREEN:
                System.out.println("3");
                break;
            case WHITE:
                System.out.println("4");
                break;
            default:
                System.out.println("0");
        }

枚举中可以添加方法与变量

public enum Color {
    RED("红色",1),
    GREEN("绿色",2),
    WHITE("白色",3),
    YELLOW("黄色",4);

    private String name;
    private int index;
    //构造函数
    Color() {

    }
    private Color(String name, int index) {
        this.name = name;
        this.index = index;
    }
    //get与set
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getIndex() {
        return index;
    }

    public void setIndex(int index) {
        this.index = index;
    }
    //自定义的方法
    public static void getColors(){
        for (Color value : Color.values()) {
            System.out.println(value.getName()+"-"+value.getIndex());
        }
    }
}

如果要添加方法和变量要在最后加上一个分号,而且一定要定义构造方法。

枚举可以实现接口

不举例子了,根据特点场景可以进行使用!