hutool.core.util.enums¶
Module Contents¶
Classes¶
枚举工具类 |
API¶
- class hutool.core.util.enums.EnumUtil¶
枚举工具类
提供对Python枚举类型的常用操作方法,包括获取名称、值、查找等。
- static get_names(enum_class: Type[enum.Enum]) List[str]¶
获取所有枚举名称
- 参数:
enum_class – 枚举类
- 返回:
枚举名称列表
- static get_values(enum_class: Type[enum.Enum]) list¶
获取所有枚举值
- 参数:
enum_class – 枚举类
- 返回:
枚举值列表
- static get_items(enum_class: Type[enum.Enum]) dict¶
获取所有枚举项为字典
- 参数:
enum_class – 枚举类
- 返回:
以枚举名称为键、枚举值为值的字典
- static contains(enum_class: Type[enum.Enum], value: Any) bool¶
是否包含指定值
- 参数:
enum_class – 枚举类
value – 待检查的值
- 返回:
是否包含该值
- static of(enum_class: Type[enum.Enum], name: str) Optional[enum.Enum]¶
根据名称获取枚举
- 参数:
enum_class – 枚举类
name – 枚举成员名称
- 返回:
对应的枚举成员,未找到返回None
- static of_value(enum_class: Type[enum.Enum], value: Any) Optional[enum.Enum]¶
根据值获取枚举
- 参数:
enum_class – 枚举类
value – 枚举成员的值
- 返回:
对应的枚举成员,未找到返回None
- static get_by_func(enum_class: Type[enum.Enum], func: Callable[[enum.Enum], bool], default: Optional[enum.Enum] = None) Optional[enum.Enum]¶
通过自定义函数查找枚举
遍历所有枚举成员,返回第一个使函数返回True的成员。
- 参数:
enum_class – 枚举类
func – 接收枚举成员并返回布尔值的函数
default – 未找到时的默认值,默认为None
- 返回:
匹配的枚举成员,未找到返回default
- static is_enum_class(obj: Any) bool¶
判断对象是否为枚举类。
- 参数:
obj – 对象
- 返回:
是否为枚举类
- static is_enum(obj: Any) bool¶
判断对象是否为枚举成员。
- 参数:
obj – 对象
- 返回:
是否为枚举成员
- static from_string(enum_class: Type[enum.Enum], name: str) enum.Enum¶
根据名称获取枚举成员,未找到时抛出异常。
- 参数:
enum_class – 枚举类
name – 枚举成员名称
- 返回:
枚举成员
- 抛出:
ValueError – 未找到时
- static from_string_quietly(enum_class: Type[enum.Enum], name: str) Optional[enum.Enum]¶
根据名称静默获取枚举成员。
- 参数:
enum_class – 枚举类
name – 枚举成员名称
- 返回:
枚举成员,未找到返回 None
- static get_field_values(enum_class: Type[enum.Enum], field: str) list¶
获取所有枚举成员的指定属性值列表。
- 参数:
enum_class – 枚举类
field – 属性名称
- 返回:
属性值列表
- static get_field_names(enum_class: Type[enum.Enum]) List[str]¶
获取所有枚举成员名称(同 get_names)。
- 参数:
enum_class – 枚举类
- 返回:
名称列表
- static get_enum_map(enum_class: Type[enum.Enum]) dict¶
获取枚举映射(name -> member)。
- 参数:
enum_class – 枚举类
- 返回:
名称到成员的字典
- static get_name_field_map(enum_class: Type[enum.Enum], field: str) dict¶
获取名称到指定属性值的映射。
- 参数:
enum_class – 枚举类
field – 属性名称
- 返回:
名称到属性值的字典
- static clear_cache(enum_class: Type[enum.Enum]) None¶
清除枚举缓存。
Python 枚举无缓存概念,此方法为空操作。
- 参数:
enum_class – 枚举类
- static to_string(enum_member: Optional[enum.Enum], null_str: str = 'null') str¶
将枚举成员转为字符串。
- 参数:
enum_member – 枚举成员
null_str – 成员为 None 时返回的字符串,默认
"null"
- 返回:
枚举名称或 null_str
- static get_enum_at(enum_class: Type[enum.Enum], index: int) Optional[enum.Enum]¶
按索引获取枚举成员。
- 参数:
enum_class – 枚举类
index – 索引(从 0 开始)
- 返回:
对应索引的枚举成员,越界返回 None
- static like_value_of(enum_class: Type[enum.Enum], name: str) Optional[enum.Enum]¶
模糊匹配枚举名(包含匹配)。
遍历所有成员,返回第一个名称中包含
name(忽略大小写)的成员。- 参数:
enum_class – 枚举类
name – 待匹配的名称片段
- 返回:
匹配的枚举成员,未找到返回 None
- static get_field_by(enum_class: Type[enum.Enum], field: str, value: Any) Optional[enum.Enum]¶
按字段值查找枚举成员。
遍历所有成员,返回第一个指定字段等于
value的成员。- 参数:
enum_class – 枚举类
field – 属性名称
value – 期望的属性值
- 返回:
匹配的枚举成员,未找到返回 None
- static not_contains(enum_class: Type[enum.Enum], value: Any) bool¶
是否不包含指定值。
- 参数:
enum_class – 枚举类
value – 待检查的值
- 返回:
不包含该值返回 True
- static equals_ignore_case(member1: Optional[enum.Enum], member2: Optional[enum.Enum]) bool¶
忽略大小写比较两个枚举成员的名称。
- 参数:
member1 – 第一个枚举成员
member2 – 第二个枚举成员
- 返回:
名称(忽略大小写)相等返回 True