java中枚举的使用
一.枚举的使用:
class TestEnum {
public enum PlayStatusEnum {
PLAY(0),
PAUSE(1),
FF(2),
REW(3),
STOP(100);
private int mPlayStatus = -1;
private PlayStatusEnum(int value) {
mPlayStatus = value;
}
public int getVal() {
return mPlayStatus;
}
}
public static void main(String[] args) {
System.out.println("playstatus: " + PlayStatusEnum.STOP);
// ordinal会按照枚举顺序依次赋值
System.out.println("playstatus: " + PlayStatusEnum.STOP.ordinal());
System.out.println("playstatus: " + PlayStatusEnum.STOP.getVal());
}
}
结果:
playstatus: STOP
playstatus: 4
playstatus: 100
public class TestEnum2 {
public static final int NUM0 = 0;
public static final int NUM1 = 1;
public static final int NUM2 = 2;
public static final int NUM3 = 3;
public enum PlayStatusEnum {
PLAY(0),
PAUSE(1),
FF(2),
REW(3),
STOP(100);
private int mPlayStatus = -1;
private PlayStatusEnum(int value) {
mPlayStatus = value;
}
public int getVal() {
return mPlayStatus;
}
protected static PlayStatusEnum valueOf (int value) {
switch (value) {
case NUM0:
return PLAY;
case NUM1:
return PAUSE;
case NUM2:
return FF;
case NUM3:
return REW;
default:
return STOP;
}
}
}
public static void main(String[] args) {
PlayStatusEnum mStatus = PlayStatusEnum.valueOf(4);
System.out.println("PlayStatus:" + mStatus);
System.out.println("PlayStatus:" + mStatus.ordinal());
System.out.println("PlayStatus:" + mStatus.getVal());
System.out.println("PlayStatus:" + PlayStatusEnum.STOP.getVal());
}
}
结果
PlayStatus:STOP
PlayStatus:4
PlayStatus:100
PlayStatus:STOP
PlayStatus:100