增强了 BooleanUtil.toBoolean 对中文、英文及符号布尔值的识别能力,并补充单元测试

This commit is contained in:
shad0wm00n
2025-12-25 22:50:34 +08:00
parent de93fa7670
commit ec022453a4
2 changed files with 28 additions and 2 deletions
@@ -14,9 +14,9 @@ import java.util.Set;
public class BooleanUtil { public class BooleanUtil {
/** 表示为真的字符串 */ /** 表示为真的字符串 */
private static final Set<String> TRUE_SET = CollUtil.newHashSet("true", "yes", "y", "t", "ok", "1", "on", "是", "对", "真", "對", "√"); private static final Set<String> TRUE_SET = CollUtil.newHashSet("true", "yes", "y", "t", "ok", "correct", "success", "on", "1", "是", "对", "真", "對", "正确", "开", "开启", "√", "☑");
/** 表示为假的字符串 */ /** 表示为假的字符串 */
private static final Set<String> FALSE_SET = CollUtil.newHashSet("false", "no", "n", "f", "0", "off", "否", "错", "假", "錯", "×"); private static final Set<String> FALSE_SET = CollUtil.newHashSet("false", "no", "n", "f", "wrong", "fail", "off", "0", "否", "错", "假", "錯", "错误", "关", "关闭", "×", "☒");
/** /**
* 取相反值 * 取相反值
@@ -9,15 +9,41 @@ public class BooleanUtilTest {
public void toBooleanTest() { public void toBooleanTest() {
assertTrue(BooleanUtil.toBoolean("true")); assertTrue(BooleanUtil.toBoolean("true"));
assertTrue(BooleanUtil.toBoolean("yes")); assertTrue(BooleanUtil.toBoolean("yes"));
assertTrue(BooleanUtil.toBoolean("y"));
assertTrue(BooleanUtil.toBoolean("t")); assertTrue(BooleanUtil.toBoolean("t"));
assertTrue(BooleanUtil.toBoolean("OK")); assertTrue(BooleanUtil.toBoolean("OK"));
assertTrue(BooleanUtil.toBoolean("correct"));
assertTrue(BooleanUtil.toBoolean("success"));
assertTrue(BooleanUtil.toBoolean("1")); assertTrue(BooleanUtil.toBoolean("1"));
assertTrue(BooleanUtil.toBoolean("On")); assertTrue(BooleanUtil.toBoolean("On"));
assertTrue(BooleanUtil.toBoolean("是")); assertTrue(BooleanUtil.toBoolean("是"));
assertTrue(BooleanUtil.toBoolean("对")); assertTrue(BooleanUtil.toBoolean("对"));
assertTrue(BooleanUtil.toBoolean("真")); assertTrue(BooleanUtil.toBoolean("真"));
assertTrue(BooleanUtil.toBoolean("對"));
assertTrue(BooleanUtil.toBoolean("正确"));
assertTrue(BooleanUtil.toBoolean("开"));
assertTrue(BooleanUtil.toBoolean("开启"));
assertTrue(BooleanUtil.toBoolean("√"));
assertTrue(BooleanUtil.toBoolean("☑"));
assertFalse(BooleanUtil.toBoolean("false")); assertFalse(BooleanUtil.toBoolean("false"));
assertFalse(BooleanUtil.toBoolean("no"));
assertFalse(BooleanUtil.toBoolean("n"));
assertFalse(BooleanUtil.toBoolean("f"));
assertFalse(BooleanUtil.toBoolean("off"));
assertFalse(BooleanUtil.toBoolean("wrong"));
assertFalse(BooleanUtil.toBoolean("fail"));
assertFalse(BooleanUtil.toBoolean("0"));
assertFalse(BooleanUtil.toBoolean("Off"));
assertFalse(BooleanUtil.toBoolean("否"));
assertFalse(BooleanUtil.toBoolean("错"));
assertFalse(BooleanUtil.toBoolean("假"));
assertFalse(BooleanUtil.toBoolean("錯"));
assertFalse(BooleanUtil.toBoolean("错误"));
assertFalse(BooleanUtil.toBoolean("关"));
assertFalse(BooleanUtil.toBoolean("关闭"));
assertFalse(BooleanUtil.toBoolean("×"));
assertFalse(BooleanUtil.toBoolean("☒"));
assertFalse(BooleanUtil.toBoolean("6455434")); assertFalse(BooleanUtil.toBoolean("6455434"));
assertFalse(BooleanUtil.toBoolean("")); assertFalse(BooleanUtil.toBoolean(""));
} }