首页

基于hutool工具包的BooleanUtil布尔工具类对于常见布尔关键字进行转换处理

标签:hutool-all,BooleanUtil,布尔工具类     发布时间:2022-07-27   

一、前言

参考hutoolhutool-all包的cn.hutool.core.util.BooleanUtil布尔工具类,对"true"、 "yes"、 "y"、"t"、"ok"、"1"、 "on"、"是"、"对"、"真"等常用表达为true布尔值的转换处理。

二、代码说明

package cn.hutool.core.util;@b@@b@import cn.hutool.core.convert.Convert;@b@@b@public class BooleanUtil {@b@    private static final String[] TRUE_ARRAY = new String[]{"true", "yes", "y", "t", "ok", "1", "on", "是", "对", "真"};@b@@b@    public BooleanUtil() {@b@    }@b@@b@    public static Boolean negate(Boolean bool) {@b@        if (bool == null) {@b@            return null;@b@        } else {@b@            return bool ? Boolean.FALSE : Boolean.TRUE;@b@        }@b@    }@b@@b@    public static boolean isTrue(Boolean bool) {@b@        return Boolean.TRUE.equals(bool);@b@    }@b@@b@    public static boolean isFalse(Boolean bool) {@b@        return Boolean.FALSE.equals(bool);@b@    }@b@@b@    public static boolean negate(boolean bool) {@b@        return !bool;@b@    }@b@@b@    public static boolean toBoolean(String valueStr) {@b@        if (StrUtil.isNotBlank(valueStr)) {@b@            valueStr = valueStr.trim().toLowerCase();@b@            if (ArrayUtil.contains(TRUE_ARRAY, valueStr)) {@b@                return true;@b@            }@b@        }@b@@b@        return false;@b@    }@b@@b@    public static int toInt(boolean value) {@b@        return value ? 1 : 0;@b@    }@b@@b@    public static Integer toInteger(boolean value) {@b@        return toInt(value);@b@    }@b@@b@    public static char toChar(boolean value) {@b@        return (char)toInt(value);@b@    }@b@@b@    public static Character toCharacter(boolean value) {@b@        return toChar(value);@b@    }@b@@b@    public static byte toByte(boolean value) {@b@        return (byte)toInt(value);@b@    }@b@@b@    public static Byte toByteObj(boolean value) {@b@        return toByte(value);@b@    }@b@@b@    public static long toLong(boolean value) {@b@        return (long)toInt(value);@b@    }@b@@b@    public static Long toLongObj(boolean value) {@b@        return toLong(value);@b@    }@b@@b@    public static short toShort(boolean value) {@b@        return (short)toInt(value);@b@    }@b@@b@    public static Short toShortObj(boolean value) {@b@        return toShort(value);@b@    }@b@@b@    public static float toFloat(boolean value) {@b@        return (float)toInt(value);@b@    }@b@@b@    public static Float toFloatObj(boolean value) {@b@        return toFloat(value);@b@    }@b@@b@    public static double toDouble(boolean value) {@b@        return (double)toInt(value);@b@    }@b@@b@    public static Double toDoubleObj(boolean value) {@b@        return toDouble(value);@b@    }@b@@b@    public static String toStringTrueFalse(boolean bool) {@b@        return toString(bool, "true", "false");@b@    }@b@@b@    public static String toStringOnOff(boolean bool) {@b@        return toString(bool, "on", "off");@b@    }@b@@b@    public static String toStringYesNo(boolean bool) {@b@        return toString(bool, "yes", "no");@b@    }@b@@b@    public static String toString(boolean bool, String trueString, String falseString) {@b@        return bool ? trueString : falseString;@b@    }@b@@b@    public static boolean and(boolean... array) {@b@        if (ArrayUtil.isEmpty(array)) {@b@            throw new IllegalArgumentException("The Array must not be empty !");@b@        } else {@b@            boolean[] arr$ = array;@b@            int len$ = array.length;@b@@b@            for(int i$ = 0; i$ < len$; ++i$) {@b@                boolean element = arr$[i$];@b@                if (!element) {@b@                    return false;@b@                }@b@            }@b@@b@            return true;@b@        }@b@    }@b@@b@    public static Boolean and(Boolean... array) {@b@        if (ArrayUtil.isEmpty(array)) {@b@            throw new IllegalArgumentException("The Array must not be empty !");@b@        } else {@b@            boolean[] primitive = (boolean[])Convert.convert(boolean[].class, array);@b@            return and(primitive);@b@        }@b@    }@b@@b@    public static boolean or(boolean... array) {@b@        if (ArrayUtil.isEmpty(array)) {@b@            throw new IllegalArgumentException("The Array must not be empty !");@b@        } else {@b@            boolean[] arr$ = array;@b@            int len$ = array.length;@b@@b@            for(int i$ = 0; i$ < len$; ++i$) {@b@                boolean element = arr$[i$];@b@                if (element) {@b@                    return true;@b@                }@b@            }@b@@b@            return false;@b@        }@b@    }@b@@b@    public static Boolean or(Boolean... array) {@b@        if (ArrayUtil.isEmpty(array)) {@b@            throw new IllegalArgumentException("The Array must not be empty !");@b@        } else {@b@            boolean[] primitive = (boolean[])Convert.convert(boolean[].class, array);@b@            return or(primitive);@b@        }@b@    }@b@@b@    public static boolean xor(boolean... array) {@b@        if (ArrayUtil.isEmpty(array)) {@b@            throw new IllegalArgumentException("The Array must not be empty");@b@        } else {@b@            boolean result = false;@b@            boolean[] arr$ = array;@b@            int len$ = array.length;@b@@b@            for(int i$ = 0; i$ < len$; ++i$) {@b@                boolean element = arr$[i$];@b@                result ^= element;@b@            }@b@@b@            return result;@b@        }@b@    }@b@@b@    public static Boolean xor(Boolean... array) {@b@        if (ArrayUtil.isEmpty(array)) {@b@            throw new IllegalArgumentException("The Array must not be empty !");@b@        } else {@b@            boolean[] primitive = (boolean[])Convert.convert(boolean[].class, array);@b@            return xor(primitive);@b@        }@b@    }@b@}
<<推荐下载>>
  • (1) 阿里巴巴Java开发手册8种不同版本
  • (2) Web前端开发视频教程
  • (3) 30+明星讲师PPT课件分享一线大厂架构实战经验
  • (4) java开发_架构篇_视频资源分享_v2208
  • (5) java开发_高级篇_视频资源分享_v2208
  • (6) java开发_进阶篇(中级)_视频资源分享_v2208
  • (7) java开发_入门篇_视频资源分享_v2208
  • (8) 微信小程序开发视频1+167源码+实战demo等下载
  • (9) easy-shopping电子商务java源码(附脚本和安装文档说明)下载
  • (10) java常用的72份知名实用的电子书下载
  • (11) java开发性能优化资料整理大全(8份电子文档+3份实战优化)下载
  • (12) 9个常用的算法设计资料和100以上视频课件内容下载
  • (13) vue开发必备常用手册16件下载
  • (14) 21种不同技术集群方案(es、flink、redis、nginx、zk、lvs、kafka、mysql、k8s等)参考资料下载
  • (15) 20种技术代码规范(js/java/dba/阿里/华为/oracle/mysql等)参考资料下载
  • (16) 微服务五套资料(0-1,架构设计,springcloud,nacos等)下载
  • (17) 架构师(28知识图谱+3套简历模板+6套架构实战文档等)完整资料整理下载
  • (18) 大数据18套实战基础知识+8套简历模板下载
  • (19) 并发编程全套(7套+阿里巴巴+亿级实战等)实战资料下载
  • (20) Kafka九套学习整理知识点全套(面试+笔记+代码api+命令+容备等)资料下载
  • (21) java全套9个不同方向类型的面试题(基础+核心+大厂+架构师+近万套题库等)下载
  • (22) JAVA开发常用API帮助文档大全(超52种以上技术资料,高手必备)下载
  • (23) springcloud超详细139件全套学习实战资料( 视频课件+源码demo+文档资料等)下载
  • 更多推荐>>
  • <<热门文章>>