Java常用工具类

在日常开发中,我们经常会用到各种工具类,熟练使用这些工具类,就能避免重复造轮子,提升开发效率。

相关依赖引入:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>org.apache.commons.lang</artifactId>
    <version>2.4.0</version>
</dependency>

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-beans</artifactId>
    <version>5.1.5.RELEASE</version>
</dependency>

1、字符串工具类

  • org.apache.commons.lang.StringUtils
// 是否为空,空格字符为false
isEmpty(String str);

// 是否为非空,空格字符为true
isNotEmpty(String str);

// 是否为空,空格字符为true
isBlank(String str);

// 是否为非空,空格字符为false​​​​​​
isNotBlank(String str);

// 比较两个字符串是否相等,如果两个均为空则认为相等
equals(String str1,String str2);

// str中是否包含字符searchChar,str为null 或者 searchChar为null,返回false
contains(String str,char searchChar) 

// 去除字符串两端的控制符,空字符串、null 返回 null
trim(String str);

// 去掉字符串str中所有包含remove的部分,然后返回
remove(String str,char remove);

// 把数组中的元素连接成一个字符串返回
join(Object[] array);

// 把数组中的元素拼接成一个字符串返回,把分隔符 split 也带上
join(Object[] array,char split);

// 如果字符串str是以remove开始,则去掉这个开始,然后返回,否则返回原来的串
removeStart(String str,String remove);

// 如果字符串str是以字符串remove结尾,则去掉这个结尾,然后返回,否则返回原来的串。
removeEnd(String str,String remove);

// 去除str 前端在stripChars中的字符
stripStart (String str,String stripChars);

// 去除str 后端在stripChars中的字符
stripEnd (String str,String stripChars);

// 从start 开始,包含start 那个字符,得到字符串str 的子串,如果start为负数,则从后面开始数起。如果str 为null 或者 "" 则返回其本身
subString(String str,int start);

// 从start 开始到end结束,包含start 那个字符,得到字符串str 的子串,如果start为负数,则从后面开始数起。如果str 为null 或者 "" 则返回其本身
subString(String str,int start,int end);

// 得到字符串separator第一次出现前的子串。不包含那个字符,如果str 为null 或者 "" 则返回其本身。
subStringBefore(String str,String separator);

// 得到字符串separator第一次出现后的子串,不包含那个字符,如果 str 为null,或者"",则返回其本身
subStringAfter(String str,String separator);
  • org.springframework.util.StringUtils
1、hasText
// 检查字符串中是否包含文本

2、hasLength
// 检测字符串是否长度大于0

3、isEmpty
// 检测字符串是否为空(若传入为对象,则判断对象是否为null)

4、commaDelimitedStringToArray
// 逗号分隔的String转换为数组

5、collectionToDelimitedString
// 把集合转为CSV格式字符串

6、replace
// 替换字符串

7、delimitedListToStringArray
// 相当于split

8、uncapitalize
// 首字母小写

9、collectionToDelimitedCommaString
// 把集合转为CSV格式字符串

10、tokenizeToStringArray
// 和split基本一样,但能自动去掉空白的单词

2、Bean工具类

  • org.springframework.beans.BeanUtils
1、copyPeoperties
// 复制属性值,从一个对象到另一个对象

2、getProperty
// 获取对象属性值

3、setProperty
// 设置对象属性值

4、populate
// 根据Map给属性复制

5、copyPeoperty
// 复制单个值,从一个对象到另一个对象。

6、cloneBean
// 克隆

3、IO流工具类

  • org.apache.commons.io.IOUtils
1、closeQuietly
// 关闭一个IO流、socket、或者selector且不抛出异常。通常放在finally块。

2、toString
// 转换IO流、Uri、byte[]为String。

3、copy
// IO流数据复制,从输入流写到输出流中,最大支持2GB。

4、toByteArray
// 从输入流、URI获取byte[]。

5、write
// 把字节、字符等写入输出流。

6、toInputStream
// 把字符转换为输入流。

7、readLines
// 从输入流中读取多行数据,返回List<String>

8、copyLarge
// 同copy,支持2GB以上数据的复制。

9、lineIterator
// 从输入流返回一个迭代器,根据参数要求读取的数据量,全部读取,如果数据不够,则失败。

4、文件工具类

  • org.apache.commons.io.FileUtils
1、deleteDirectory
// 删除文件夹

2、readFileToString
// 以字符形式读取文件内容。

3、deleteQueitly
// 删除文件或文件夹且不会抛出异常。

4、copyFile
// 复制文件

5、writeStringToFile
// 把字符写到目标文件,如果文件不存在,则创建。

6、forceMkdir
// 强制创建文件夹,如果该文件夹父级目录不存在,则创建父级。

7、write
// 把字符写到指定文件中

8、listFiles
// 列举某个目录下的文件(根据过滤器)

9、copyDirectory
// 复制文件夹

10、forceDelete
// 强制删除文件
  • org.apache.commons.io.FilenameUtils
1、getExtension
// 返回文件后缀名

2、getBaseName
// 返回文件名,不包含后缀名

3、getName
// 返回文件全名

4、concat
// 按命令行风格组合文件路径(详见方法注释)

5、removeExtension
// 删除后缀名

6、normalize
// 使路径正常化

7、wildcardMatch
// 匹配通配符

8、seperatorToUnix
// 路径分隔符改成unix系统格式的,即/

9、getFullPath
// 获取文件路径,不包括文件名

10、isExtension
// 检查文件后缀名是不是传入参数(List<String>)中的一个

5、数组工具类

  • org.apache.commons.lang.ArrayUtils
1、contains
// 是否包含某字符串

2、addAll
// 添加所有

3、clone
// 克隆一个数组

4、isEmpty
// 是否空数组

5、add
// 向数组添加元素

6、subarray
// 截取数组

7、indexOf
// 查找下标

8、isEquals
// 比较数组是否相等

9、toObject
// 基础类型数据数组转换为对应的Object数组

6、集合工具类

  • org.apache.commons.collections.CollectionUtils
1、isEmpty
// 是否为空

2、select
// 根据条件筛选集合元素

3、transform
// 根据指定方法处理集合元素,类似List的map()。

4、filter
// 过滤元素,雷瑟List的filter()

5、find
// 基本和select一样

6、collect
// 和transform 差不多一样,但是返回新数组

7、forAllDo
// 调用每个元素的指定方法。

8、isEqualCollection
// 判断两个集合是否一致

7、加密工具类

  • org.apache.commons.codec.digest.DigestUtils
1、md5Hex
// MD5加密,返回32位

2、sha1Hex
// SHA-1加密

3、sha256Hex
// SHA-256加密

4、sha512Hex
// SHA-512加密

8、Entity工具类

  • org.apache.http.util.EntityUtils
1、toString
// 把Entity转换为字符串

2、consume
// 确保Entity中的内容全部被消费。可以看到源码里又一次消费了Entity的内容,假如用户没有消费,那调用Entity时候将会把它消费掉。

3、toByteArray
// 把Entity转换为字节流

4、consumeQuietly
// 和consume一样,但不抛异常

5、getContentCharset
// 获取内容的编码

9、属性操作工具类

  • org.apache.commons.beanutils.PropertyUtils
1、getProperty
// 获取对象属性值

2、setProperty
// 设置对象属性值

3、getPropertyDiscriptor
// 获取属性描述器

4、isReadable
// 检查属性是否可访问

5、copyProperties
// 复制属性值,从一个对象到另一个对象

6、getPropertyDiscriptors
// 获取所有属性描述器

7、isWriteable
// 检查属性是否可写

8、getPropertyType
// 获取对象属性类型

发表评论