- 当作常量来使用
public enum Constant {
RED, GREEN, BLANK, YELLOW;
public static void main(String[] args) {
System.out.println(Constant .BLANK);
System.out.println(BLANK.ordinal());
System.out.println(Constant .RED);
System.out.println(RED.ordinal());
}
}
执行结果;
BLANK
2
RED
0
- 将枚举数据与它的常量关联起来
public enum Season {
SPRING(20.1),SUMMER(36.5),AUTUMN(12.5),WINTER(0.3);
private double averageTem;
private Season(double averageTem) {
this.averageTem = averageTem;
}
public double getAverageTem() {
return averageTem;
}
public static void main(String[] args) {
System.out.println(Season.valueOf("AUTUMN").getAverageTem());
System.out.println(Season.valueOf("WINTER").getAverageTem());
}
}
执行结果:
12.5
0.3
- 将枚举数据和它的行为关联起来(特定于常量的方法实现)
public enum Operation {
ADD {
@Override
double apply(double x, double y) {
return x + y;
}
},
MINUS {
@Override
double apply(double x, double y) {
return x - y;
}
},
TIMES {
@Override
double apply(double x, double y) {
return x * y;
}
},
DEVIDE {
@Override
double apply(double x, double y) {
return x / y;
}
};
abstract double apply(double x, double y);
public static void main(String[] args) {
System.out.println(Operation.ADD.apply(5, 10));
}
}
执行结果:
15.0