枚举使用
1.创建枚举
public enum ColorEnum{
RED,YELLOW,BLUE,GREEN
}
public enum WeekEnums {
MON(1), TUE(2), WED(3), THU(4), FRI(5), SAT(6), SUN(0) {
@Override
public int getValue() {
return 10;
}
};
public int value;
WeekEnums(int value) {
this.value = value;
}
public int getValue() {
return value;
}
}
- 枚举还可以实现接口(所有的枚举都继承自java.lang.Enum类。由于Java 不支持多继承,所以枚举对象不能再继承其他类 )
public interface ShowColor{
void showColor();
}
public enum ColorEnum implements ShowColor{
RED, YELLOW, BLUE, GREEN;
@Override
public void showColor(){
}
}
2.枚举的使用
WeekEnums tag = (WeekEnums) tv1.getTag()
switch (tag) {
case MON:
Toast.makeText(mContext, WeekEnums.MON.getValue()+" mon", Toast.LENGTH_LONG).show()
break
case TUE:
Toast.makeText(mContext, WeekEnums.TUE.getValue()+" tue", Toast.LENGTH_LONG).show()
break
case WED:
Toast.makeText(mContext, WeekEnums.WED.getValue()+" wed", Toast.LENGTH_LONG).show()
break
case THU:
Toast.makeText(mContext, WeekEnums.THU.getValue()+" thu", Toast.LENGTH_LONG).show()
break
}
3.EnumSet及EnumMap的使用
//EnumSet的使用
EnumSet<WeekEnums> enumSet = EnumSet.allOf(WeekEnums.class)
for(WeekEnums set :enumSet){
System.out.println(set.toString())
}
//EnumMap的使用
EnumMap<WeekEnums, String> enumMap = new EnumMap<>(WeekEnums.class)
enumMap.put(WeekEnums.MON,"mon")
enumMap.put(WeekEnums.TUE,"tue")
for(Iterator<Map.Entry<WeekEnums, String>> iterator = enumMap.entrySet().iterator()
Map.Entry<WeekEnums, String> next = iterator.next()
System.out.println(next.getKey()+" "+next.getValue())
}