转行小白成长路-java篇

第19章:枚举类型(下)

  昨天做了简短的分析,算是enum的本质。文中将enum比作容器,有点像,毕竟是一个文件包含了多种预设的对象。

  EnumSet中的元素必须来自一个enum。EnumSet的设计充分考虑到了速度因素,因为它必须与非常高效的bit标志相竞争。就其内部而言,它就是将一个long值作为比特向量,所以EnumSet非常快速高效。

  EnumMap是一种特殊的Map,他要求其中的键必须来自一个enum。与EnumSet一样,enum实例定义时的次序决定Map中的顺序。

  使用Enum职责链,职责链设计模式,程序员以多种不同的方式来解决一个问题,然后将他们连接在一起。当一个请求到来时,遍历这个链,直到链中某个方案能够处理该请求

  使用enum的状态机

  后半部分不常用,还得是用到才能有所体会。

原文地址:https://www.cnblogs.com/aiwin/p/12562620.html