hutool.core.util.enums

Module Contents

Classes

EnumUtil

枚举工具类

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