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

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

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

Maven依赖:

<dependency>
  <groupId>org.apache.commonsgroupId>
  <artifactId>commons-lang3artifactId>
  <version>3.7version>
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=0或null都属于

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

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

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

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) // isEmpty和isBlank的区别在于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) // 用父类Object的toString()方法返回对象信息

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()// 获取用户家目录

你可能感兴趣的:(java基础)