布尔工具 - BooleanUtil¶
由来¶
提供布尔值的解析、转换和逻辑运算。支持从字符串解析布尔值,以及批量逻辑运算。
方法¶
from hutool import BooleanUtil
# 判断
BooleanUtil.is_true(True) # True
BooleanUtil.is_false(False) # True
# 转换
BooleanUtil.to_int(True) # 1
BooleanUtil.int_to_boolean(0) # False
BooleanUtil.to_str(True, "是", "否") # "是"
# 解析字符串
BooleanUtil.parse("true") # True
BooleanUtil.parse("yes") # True
BooleanUtil.parse("1") # True
BooleanUtil.parse("on") # True
BooleanUtil.parse("false") # False
# 逻辑运算(批量)
BooleanUtil.and_(True, True, False) # False
BooleanUtil.or_(False, False, True) # True
BooleanUtil.xor(True, True) # False
BooleanUtil.negate(True) # False
# toBoolean — 万能布尔转换
BooleanUtil.to_boolean("true") # True
BooleanUtil.to_boolean("yes") # True
BooleanUtil.to_boolean(1) # True
BooleanUtil.to_boolean("no") # False
# isBoolean — 判断是否为布尔字符串
BooleanUtil.is_boolean("true") # True
BooleanUtil.is_boolean("abc") # False
# 格式化输出
BooleanUtil.to_string_true_false(True) # "true"
BooleanUtil.to_string_yes_no(True) # "yes"
BooleanUtil.to_string_on_off(True) # "on"
# xorOfWrap — 两值异或
BooleanUtil.xor_of_wrap(True, False) # True
# exactlyOneTrue — 恰好一个为 True
BooleanUtil.exactly_one_true(True, False, False) # True
BooleanUtil.exactly_one_true(True, True, False) # False
# ifTrue — 三元表达式
BooleanUtil.if_true(True, "yes", "no") # "yes"
BooleanUtil.if_true(False, "yes", "no") # "no"
# negate — None 安全取反
BooleanUtil.negate(None) # None(None 输入返回 None)
BooleanUtil.negate(True) # False
# to_str — 带 null_str 参数
BooleanUtil.to_str(None, "是", "否", "空") # "空"
BooleanUtil.to_str(None, "是", "否") # "否"(默认 None 视为 False)
# 扩展字符串解析(y, t, ok, correct, success 也解析为 True)
BooleanUtil.parse("y") # True
BooleanUtil.parse("ok") # True
BooleanUtil.parse("correct") # True
BooleanUtil.parse("success") # True
# and_of_wrap / or_of_wrap — None 视为 False
BooleanUtil.and_of_wrap(True, None) # False
BooleanUtil.or_of_wrap(None, None) # False
BooleanUtil.or_of_wrap(True, None) # True
# is_boolean_class — 类型判断
BooleanUtil.is_boolean_class(True) # True
BooleanUtil.is_boolean_class(1) # False
批量布尔运算¶
# booleanAnd — 批量 AND 运算
BooleanUtil.boolean_and(True, True, True) # True
BooleanUtil.boolean_and(True, False, True) # False
# booleanOr — 批量 OR 运算
BooleanUtil.boolean_or(False, False, True) # True
BooleanUtil.boolean_or(False, False, False) # False
中文输出¶
# to_string_yes_no — 布尔转中文字符串
BooleanUtil.to_string_yes_no(True) # "是"
BooleanUtil.to_string_yes_no(False) # "否"