当前位置: 首页 > 工具软件 > Commons-lang > 使用案例 >

commons-lang包常用工具类的基本使用

段干靖
2023-12-01

目录

比较常用的工具类有:

ArrayUtils常用方法:

StringUtils常用方法:

ObjectUtils常用方法:

RandomUtils常用方法:

NumberUtils 常用方法:

DateUtils常用方法:

SystemUtils常用方法:


Commons Lang这一组API也是提供一些基础的、通用的操作和处理,如自动生成toString()的结果、自动实现hashCode()和equals()方法、数组操作、枚举、日期和时间的处理等等。

Maven依赖:

<dependency>

    <groupId>org.apache.commons</groupId>

    <artifactId>commons-lang3</artifactId>

    <version>3.7</version>

</dependency>

比较常用的工具类有:

ArrayUtils:数组工具类,提供数组拷贝、查找、反转等功能

StringUtils:提供字符串操作,对null是安全的,字符串查找、替换、分割、去空格等操作

ObjectUtils: 用于操作Java对象,提供null安全的访问和其他一些功能

RandomUtils:随机数工具类,获得随机整数、小数、字符串等

NumberUtils:数值工具类,数值类型转换等操作

DateUtils:日期工具类

扩展:

SystemUtils: 在java.lang.System基础上提供更方便的访问,如用户路径、Java版本、时区、操作系统等判断

EnumUtils:枚举工具类

ReflectionToStringBuilder/ToStringBuilder:重写toString方法

EqualsBuilder/HashCodeBuilder:提供了方便的方法来覆盖equals() 和hashCode()方法

 

ArrayUtils常用方法:

add(int[] array, int index, int element) // 增加元素

addAll(int[] array1, int... array2) // 并集操作,合并数组

clone(int[] array) // 克隆数组

contains(int[] array, int valueToFind) // 查找元素是否存在数组中

isEmpty(int[] array) // 判断是否为空,length=0null都属于

isEquals(Object array1, Object array2)// 比较两个数组是否相等

isSameLength(int[] array1, int[] array2) // 判断两个数组长度是否相等

isSameType(Object array1, Object array2) // 判断两个数组类型是否相等,注意intInteger比较时不相等

indexOf(int[] array, int valueToFind) // 查找数组元素位置

lastIndexOf(int[] array, int valueToFind) // 查找数组元素最后出现位置

nullToEmpty(Object[] array) // null数组转为对应类型的空数组,如果array不是null,则返回array

remove(int[] array, int index) // 删除指定位置元素,注意返回新数组,删除元素后面的元素会前移,保持数组有序

removeElement(int[] array, int element) // 删除数组中指定值的元素

reverse(int[] array) // 反转数组

subarray(int[] array, int startIndexInclusive, int endIndexExclusive) //数组截取

toArray(T... items) // 将不定参数转换为数组

toMap(Object[] array) // 将二维数组转换为Map

toObject(int[] array) // 将基本数组类型转为包装类型

toString(Object array)// 输出数组内容

toString(Object array, String stringIfNull)//数组为null时,返回第二个参数

StringUtils常用方法:

abbreviate(String str, int maxWidth) // 缩进字符串为最大maxWidth长度,第二参数最低为 4,要包含...

compare(String str1, String str2) // 比较两字符串的大小

compareIgnoreCase(String str1, String str2)

capitalize(String str) // 首字母大写

uncapitalize(String str) // 首字母小写

countMatches(CharSequence str, CharSequence sub) // 统计参数2在字符串中出现的次数

contains(CharSequence seq, CharSequence searchSeq) // 判断某字符串是否包含某子字符串

equals(CharSequence cs1, CharSequence cs2) // 判断两字符串相等

equalsIgnoreCase(CharSequence str1, CharSequence str2) // 判断两字符串相等,忽略大小写

isEmpty(CharSequence cs) // 判断是否为空

isNotEmpty(CharSequence cs) // 判断是否不为空

isAnyEmpty(CharSequence... css) // 判断是否含有空字符串

isNoneEmpty(CharSequence... css) // 判断是否都不是空字符串,与isAnyEmpty(CharSequence... css)相反

isAllEmpty(CharSequence... css) // 判断是否都是空字符串

isBlank(CharSequence cs) // isEmptyisBlank的区别在于isEmpty不会忽略空格

isNotBlank(CharSequence cs)

isAllLowerCase(CharSequence cs) // 判断字符串是否全部大写或小写

isAllUpperCase(CharSequence cs)

isAlpha(CharSequence cs) // 判断字符串是否全部由字母组成

isNumeric(CharSequence cs) // 判断字符串是否全部由数字组成

isAlphanumeric(CharSequence cs) // 判断字符串是否全部由字母或数字组成

isAlphaSpace(CharSequence cs) // 判断字符串是否全部由字母或空格组成

isWhitespace(CharSequence cs) // 判断字符串是否全部由空格组成

join(Object[] array, String separator) // 将指定数组转换成字符串,并使用指定分隔符拼接

repeat(String str, int repeat) // 将字符串重复指定次数

repeat(String str, String separator, int repeat) // 在重复字符串时,采用指定字符拼接

trim(String str) // 去除字符串前后的控制符

strip(String str, String stripChars) // 去除指定字符串两端的指定字符

stripStart(String str, String stripChars) // 去除指定字符串开始位置的指定字符

stripEnd(String str, String stripChars) // 去除指定字符串结尾位置的指定字符

indexOf(CharSequence seq, CharSequence searchSeq) // 查找某个字符在字符串中第一次出现时的索引位置

ordinalIndexOf(CharSequence str, CharSequence searchStr, int ordinal) // 返回在指定字符串中出现指定字符的位置

left(String str, int len) // 得到一个字符串最左边的len个字符

right(String str, int len) // 从右边截取len个字符

mid(String str, int pos, int len) // 得到一个字符串中间的len个字符

substringBetween(String str, String open, String close) // 返回在字符串中以指定字符开始和指定字符结束的中间字符串

substringsBetween(String str, String open, String close) // 该方法返回字符串数组

truncate(String str, int maxWidth) // 截断字符串

truncate(String str, int offset, int maxWidth)

split(String str, String separatorChars) // 将某字符串按字符分割成数组,默认按空格分组

replace(String text, String searchString, String replacement) // 替换某字符串为另一个字符串

startsWith(CharSequence str, CharSequence prefix) // 判断某字符串是否包含有指定前缀的字符串

endsWith(CharSequence str, CharSequence suffix)

 

ObjectUtils常用方法:

defaultIfNull(Object object, Object defaultValue) // 如果传递的对象为null,则返回默认值。

equals(Object object1, Object object2) // 比较对象的相等性

identityToString(Object object) // 用父类ObjecttoString()方法返回对象信息

toString(Object obj) // 返回类本身的toString()方法结果,对象为null时,返回0长度字符串

RandomUtils常用方法:

nextBoolean()

nextDouble()

nextLong()

nextInt(int n)

NumberUtils 常用方法:

createBigDecimal(String str) // 通过字符串创建BigDecimal类型 ,支持int,float,long等数值

isDigits(String str) // 判断字符串是否为整数

isNumber(String str) // 判断字符串是否为数字

max(int a, int b, int c) // 获取参数中最大的值,支持传入数组

min(int a, int b, int c) // 获取参数中最小的值,支持传入数组

toInt(String str) // 将字符串转换为int类型,支持float,long,short等数值类型

DateUtils常用方法:

isSameDay(Date date1, Date date2) // 判断两个日期是否是同一天

parseDate(String str, String... parsePatterns) // 解析日期时间字符串成Date对象

addYears(Date date, int amount) // 对给定的日期进行计算(年月日

setYears(Date date, int amount) // 对给定的日期时间设置年份(年月日

toCalendar(Date date) // 将日期转为Calendar实例

round(Date date, int field) // 对日期时间进行四舍五入

truncate(Date date, int field) //从给定字段开始格式化截取日期

ceiling(Date date, int field) //从给定字段开始向上格式化日期

getFragmentInDays(Date date, int fragment) // 返回一个指定时间的天数(年月日

truncatedEquals(Calendar cal1, Calendar cal2, int field) //比较日历对应字段是否相等

 

SystemUtils常用方法:

SystemUtils.FILE_SEPARATOR // 系统文件分隔符(现使用File.separator替代)

 

getHostName()// 获取主机名

getJavaHome()// 获取JAVA HOME

getJavaIoTmpDir()// 临时目录

 

getUserDir()

getUserHome()// 获取用户家目录

 

 类似资料: