经验总结53-java枚举

经验总结53--java枚举

使用java枚举代替字符串或静态变量。

1.简单使用

颜色枚举类:

public enum ColorEnum {

RED, BLACK, GREE, BLUE

}

调用:

public static void main(String[] args) {

System.out.println(ColorEnum.RED.toString());

System.out.println(ColorEnum.RED.ordinal());

}

2.自定义枚举值

public enum ColorEnum {

  RED(1),BLACK(2), GREE(3), BLUE(4);

  private final intvalue;

  public int getValue() {

  return value;

  }

  ColorEnum(int value) {

  this.value =value;

  }

}

System.out.println(ColorEnum.RED.getValue());

3.遍历
循环

for (ColorEnum item : ColorEnum.values()) {

  System.out.println(item.getValue() + ":" + item.toString());

}  

4.类型转换
把字符串转换为枚举

Stringvalue1="BLUE";

System.out.println(ColorEnum.valueOf(value1).ordinal());

把数字转换成枚举,由于是数组,需要按照自己起始数值

int value2 = 2;

System.out.println(ColorEnum.values()[value2-1].toString());

5.判断
SWITCH判断
首先把数字或字符串转换为枚举,进行判断

  ColorEnum value3 = ColorEnum.values()[value2- 1];

  switch (value3) {

  case RED:

  System.out.println(ColorEnum.RED.getValue() + ":" + ColorEnum.RED.toString());

  break;

  case BLACK:

  System.out.println(ColorEnum.BLACK.getValue() + ":" + ColorEnum.BLACK.toString());

  break;

  case GREE:

  System.out.println(ColorEnum.GREE.getValue() + ":" + ColorEnum.GREE.toString());

  break;

  default:

  System.out.println(ColorEnum.BLUE.getValue() + ":" + ColorEnum.BLUE.toString());

  }


还可以继续延伸枚举的用法。