枚举
数字枚举
enum OrderStatus_Number{
Start= 1,
Unpaid,
Shipping,
Shipped,
Complete
}
// 数字枚举不写默认值,第一个默认为0,后面依次递增
// 如果赋予初始值则从初始值开始递增
字符串枚举
enum OrderStatus_String {
Start= 'Start',
Unpaid= 'Unpaid',
Shipping= 'Shipping',
Shipped= 'Shipped',
Complete= 'Complete'
}
// 字符串枚举没有递增的含义,所以成员必须初始化
反向映射
-
反向映射是数字枚举的一个技巧
-
当设定如下枚举时:
enum Enum{ A }
-
既可以从属性名获取到值,也可以从值获取到属性名
-
-
在运行时包含了正向映射(key -> value)和反向映射(value -> key)
- 在字符串枚举中没有反向映射