1、多个枚举项实现同一个抽象方法
在实际使用枚举的场景中,经常会遇到希望不同枚举项实现同一方法的情况。此时可以设置共用的抽象方法来解决。
(我第一次遇到这个问题是用反射在枚举内部设置通用方法来解决的,相比之下十分冗长麻烦……)
public enum Toy {
SOLDIER {
@Override
public void execute() {
System.out.println("I'm a doll.");
}
},
DOLL {
@Override
public void execute() {
System.out.println("I'm a doll.");
}
};
// template method
public abstract void execute();
}
2、枚举和字符串相互转换
枚举自带两个很实用的方法,可以将枚举项和字符串进行相互转换。
- static Direction[] values():返回本类所有枚举项实例。
- static Direction valueOf(String name):通过枚举项的字符串格式名返回枚举项。