Java中的enum

关于enum:

1,enum不允许扩展的,每一个成员都为静态的、final的

2,enum的值可以通过compareTo()比较,也可以通过values取得其对应的字符串名称

3,可以在enum中定义字段,表示属性

以下是一个例子:

package LearnJava;

/**
 * Created by Jimmy on 2015/5/21.
 */

public enum Enum {
    RED(1), GREEN(3), ABC(4);

    private int i;
    private Enum(int j){ i = j;}

    @Override
    public String toString(){ return String.valueOf(i);}

    public static void main(String[] args){
        //调用toString
        System.out.println("Enum.RED: " + Enum.RED);

        Enum ie = Enum.ABC;
        switch (ie){
            case RED:
                System.out.println("Enum.RED! ");
                break;
            case GREEN:
                System.out.println("Enum.GREEN! ");
                break;
            case ABC:
                System.out.println("Enum.ABC! ");
                break;
        }
        Enum[] colors = Enum.values();
        for(Enum e:colors){
            System.out.println(e);
            System.out.println(e.name());
            System.out.println(e.ordinal());
        }
    }
}

执行结果是:

Enum.RED: 1
Enum.ABC! 
1
RED
0
3
GREEN
1
4
ABC
2

打印信息:

覆盖toString方法,可以是Enum在输出时按照自定义的方式显示,否则,则直接显示enum字符串

你可能感兴趣的:(enum,toString)