本章节主要介绍 基本类型 / 数组 / 数据类型转换 工具类,该类别主要有关于对数组操作、一些基本类型的操作、进制转换 等相关功能进行了封装,涉及到的工具类如下:
这里简单介绍一下常用的几种工具类:
ArrayUtil:数组工具类
此工具类中有很多方法,但是有很多重载方法,根据不同类型的传参进行重载,为各个类型提供实现
具体传参与返回值可查看接口文档,这里仅总览出常用的可完成的功能方法
方法 | 功能 | 支持类型 | 原理 |
---|
isEmpty | 是否为空 | 8大基本类型 | |
isNotEmpty | 是否为空 | 8大基本类型 | |
resize | 数组调整大小,补0/截断 | byte | System.arraycopy |
addAll | 数组合并 | 8大基本类型 | System.arraycopy |
range | 生成数字列表: 从0开始,给定终止位置 给定起始终止位置正序 给定起始终止位置倒序 | int | 循环实现 |
split | 拆分byte数组为几个等份 | byte | System.arraycopy |
indexOf | 返回数组中指定元素所在位置 | 8大基本类型 | 循环实现 |
lastIndexOf | 返回数组中指定元素所在最后的位置 | 8大基本类型 | 循环实现 |
contains | 数组中是否包含元素 | 8大基本类型 | 使用indexOf,循环实现 |
wrap | 将原始类型数组包装为包装类型 | 8大基本类型 | 循环实现 |
unWrap | 包装类数组转为原始类型数组,null转为0 | 8大基本类型 | 循环实现 |
sub | 获取包含起始位置,不包含终止位置的子数组 | 8大基本类型 | System.arraycopy |
remove | 移除数组中对应位置的元素 | 8大基本类型 | System.arraycopy |
removeEle | 移除数组中指定的元素,只会移除匹配到的第一个元素 | 8大基本类型 | System.arraycopy |
reverse | 对包含起始位置,不包含终止位置的数组进行反转,会变更原数组 | 8大基本类型 | 循环交换 |
min / max | 取数组最小值 / 最大值 | 8大基本类型 | 循环比较 |
shuffle | 打乱数组顺序,会变更原数组 | 8大基本类型 | 循环交换 |
swap | 交换数组中两个位置的值 | 8大基本类型 | 循环交换 |
isSorted isSortedASC | 检查数组是否升序 | 8大基本类型 | 循环比较 |
isSortedDESC | 检查数组是否降序 | 8大基本类型 | 循环比较 |
BooleanUtil :Boolean 类型相关工具类
其里面主要针对 Boolean / boolean 类型 实现一些功能
具体传参与返回值可查看接口文档,这里仅总览出常用的可完成的功能方法
方法 | 功能 | 支持类型 | 原理 |
---|
negate | 取相反值 | Boolean / boolean | |
isTrue | 是否为True | Boolean | |
isFalse | 是否为False | Boolean | |
toBoolean | 转换字符串为boolean值 字符串为以下任意均为True: “true”, “yes”, “y”, “t”, “ok”, “1”, “on”, “是”, “对”, “真”, “對”, “√” | String | |
toInt toInteger toChar toCharacter toByte toByteObj toLong toLongObj toShort toShortObj toFloat toFloatObj toDouble toDoubleObj | boolean值转为其他基本类型 / 基本类型的包装类型 | boolean | |
toStringTrueFalse toStringOnOff toStringYesNo toString | boolean值转为String 字符串 true 或者 false 字符串 on 或者 off 字符串 yes 或者 no 指定正确/错误的字符串 | boolean | |
isBoolean | 给定类是否为Boolean或者boolean | Class | |
and andOfWrap | 对Boolean数组取与 | Boolean / boolean | 循环实现 |
or orOfWrap | 对Boolean数组取或 | Boolean / boolean | 循环实现 |
xor xorOfWrap | 对Boolean数组取异或 | Boolean / boolean | 循环实现 |
ByteUtil:Byte 类型相关工具类
其里面主要针对 byte 类型 实现一些功能
具体传参与返回值可查看接口文档,这里仅总览出常用的可完成的功能方法
方法 | 功能 | 支持类型 | 原理 |
---|
intToByte | int转byte | int | 强转 |
byteToUnsignedInt | byte转无符号int | byte | 二进制与 |
xxxxToBytes | xxx 转 byte 数组 | xxx可为 int / short / long / float / double / number | 二进制与 |
bytesToxxxx | byte 数组转 xxx | byte | 二进制与 |
CharUtil:char 类型相关工具类
其里面主要针对 char 类型 实现一些功能
具体传参与返回值可查看接口文档,这里仅总览出常用的可完成的功能方法
方法 | 功能 | 支持类型 | 原理 |
---|
isAscii | 字符是否为ASCII字符(0~127) | char | 左移位数判断是否为0 |
isAsciiPrintable | 字符是否为可见ASCII字符(32~126) | char | |
isAsciiControl | 字符是否为ASCII控制符(不可见字符)(0~31和127) | char | |
isLetter isLetterUpper isLetterLower | 字符是否为字母(A-Z a-z) 是否为大写字母(A-Z) 是否为小写字母(a-z) | char | |
isNumber | 字符是否为数字字符(0-9) | char | |
isHexChar | 字符是否为16进制规范的字符(09、af、A~F) | char | |
isLetterOrNumber | 字符是否是数字或者字母(AZ、az、0~9) | char | |
isCharClass isChar | 给定类名是否为字符类(Char 、Character) 给定对象对应的类是否为字符类(Char 、Character) | Class Object | |
isBlankChar | 字符是否是空白串 | char | |
getType | int转字符类型 | int | |
isFileSeparator | 字符是否为Windows 或者Linux(Unix)文件分隔符 | char | |
toString | 字符转字符串 | char | |
equals | 比较两个字符是否相同 | char | |
digit16 | 获取给定字符的16进制数值 | int(字符int) | |
toCloseChar | 将字母、数字转换为带圈的字符:‘1’ -》 ‘①’ ‘A’ -》 ‘Ⓐ’ ‘a’ -》 ‘ⓐ’ | char | |
toCloseByNumber | 将[1-20]数字转换为带圈的字符:1 -》 ‘①’ 12 -》 ‘⑫’ 20 -》 ‘⑳’ | char | |
StrUtil:String类型相关工具类
其里面主要针对 String 类型 实现一些功能
具体传参与返回值可查看接口文档,这里仅总览出常用的可完成的功能方法
方法 | 功能 | 支持类型 |
---|
isBlankIfStr | 判断字符串是否为空白(空字符串、空格、全角空格、制表符、换行符) | Object |
isEmptyIfStr | 判断字符串是否为空串(null、空字符串) | Object |
trim | 字符串数组全部去除首尾空格 | String[] |
utf8Str | 将对象转为字符串 | Object |
str | 将对象转为字符串 | Object、byte[]、Byte[]、ByteBuffer |
toString toStringOrNull | 对象的toString方法,null会返回“null” 调用对象的toString方法,null会返回 null | Object |
builder strBuilder | 创建StringBuilder对象 | |
getReader getWriter | 获得StringReader 获得StringWriter | |
fillBefore fillAfter fill | 已有字符串填充为规定长度,超过这个长度则返回这个字符串(之前) 将已有字符串填充为规定长度,超过这个长度则返回这个字符串(之后) 将已有字符串填充为规定长度,超过这个长度则返回这个字符串(指定填充位置) | String |
reverse | 字符串反转 | String |
similar | 计算两个字符串的相似度 / 相似度百分比 | String |
uuid | 生成随机UUID | |
format | 格式化文本 | CharSequence |
NumberUtil:Number 类型相关工具类
其里面主要针对 Number 类型 实现一些功能
具体传参与返回值可查看接口文档,这里仅总览出常用的可完成的功能方法
方法 | 功能 | 支持类型 |
---|
add sub mul div ceilDiv | 加法运算、减法运算、乘法运算、除法运算、向上取整除法 | float、double、Number |
round roundStr roundDown roundHalfEven | 保留固定位数小数 保留固定位数小数字符串 保留固定小数位数,舍去多余位数 四舍六入五成双计算法 | double、String、BigDecimal |
decimalFormat | 以格式化方式进行double格式化 | double |
decimalFormatMoney | 格式化金额输出,每三位用逗号分隔 | double |
formatPercent | 格式化百分比,小数采用四舍五入方式 | double |
isInteger isLong isDouble isPrimes | 判断字符是否为数字 判断字符串是否是Long类型 判断字符串是否是浮点数 判断一个数是否是质数(素数) | CharSequence String String int |
generateRandomNumber generateBySet | 根据给定的最小数字和最大数字,以及随机数的个数,产生指定不重复数组 | |
range appendRange | 从指定位置(默认为0)开始的整数列表,指定步进(默认为1) 将给定范围内的整数添加到已有集合中,指定步进(默认为1) | long、BigInteger |
factorial | 计算范围阶乘 | long |
sqrt divisor multiple | 平方根算法 最大公约数 最小公倍数 | long int int |
compare | 比较两个值的大小 | char long double short int short |
getBinaryStr binaryToInt binaryToLong | 获得数字对应的二进制字符串 二进制转int 二进制转long | |
isGreater isGreaterOrEqual isLess isLessOrEqual | 比较大小 | BigDecimal |
min max equals | 比较最小值 比较最大值 比较是否相等 | T int long short byte double BigDecimal |