Enum枚举类分析和相关拓展
其实我认为使用枚举类就是对使用常量的扩充,例如类中使用类型,分类相同的类变量的时候,可以考虑使用枚举类来替换掉。
参考了网上的文章,大致有两个好处,第一是确定传入的参数类型。而不是形参是int类型,随便一个int类型就能够满足。第二是对比static静态变量更能够确定变量的意义。下面举一个例子来看。
Enum类实例
1  | /* 列举简单的行驶工具 */  | 
和普通的类一样,同样也可以添加构造方法
1  | SPRING("春天"),SUMMER("夏天"),FALL("秋天"),WINTER("冬天");  | 
也可以继承
1  | public enum SeasonEnum {  | 
以上是枚举类的基本使用。
EnumMap 和 EnumSet
public class EnumMap<K extends Enum<K>, V> extends AbstractMap<K, V> 这是关于EnumMap的继承关系。
可以发现这是key为枚举类的一个Map。
1  | /* 简单创建,以后就可以实现枚举类的多种复用 */  | 
EnumSet 相对于 EnumMap 等同于 hashSet 相对于 HashMap 的存在,很好理解。