HuTool工具使用基本类型 / 数组 / 类型转换 工具类

本章节主要介绍 基本类型 / 数组 / 数据类型转换 工具类,该类别主要有关于对数组操作、一些基本类型的操作、进制转换 等相关功能进行了封装,涉及到的工具类如下: ArrayUtil:数组工具类 BooleanUtil :Boolean 类型相关工具类 ByteUtil:Byte 类型相关工具类 C

本章节主要介绍 基本类型 / 数组 / 数据类型转换 工具类,该类别主要有关于对数组操作、一些基本类型的操作、进制转换 等相关功能进行了封装,涉及到的工具类如下:

  • ArrayUtil:数组工具类

  • BooleanUtil :Boolean 类型相关工具类

  • ByteUtil:Byte 类型相关工具类

  • CharUtil:字符工具类

  • StrUtil:字符串工具类

  • NumberUtil:数字工具类

  • EnumUtil:枚举工具类

  • CharsetUtil:字符集工具类

  • HexUtil:十六进制工具类

  • RadixUtil:进制转换工具类

  • PrimitiveArrayUtil:原始类型数组工具类

这里简单介绍一下常用的几种工具类:

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

Comment