org.apache.commons.lang3.StringUtils
apache的字符串工具类,常用方法有:
- 判断字符串是否为null,或者长度为0
boolean isEmpty(CharSequence cs)
boolean isNotEmpty(CharSequence cs) - 判断字符串是否为null,或者长度为0,或者仅包含宫格
boolean isBlank(CharSequence cs)
boolean isNotBlank(CharSequence cs) - 第1、2点的方法的可变参形式,全部满足条件返回true
boolean isAllEmpty(CharSequence... css)
boolean isAllBlank(CharSequence... css) - 第1、2点的方法的可变参形式,任意一个满足条件返回true
boolean isAnyBlank(CharSequence... css)
boolean isAnyEmpty(CharSequence... css)
java.util.Objects
jdk的Object工具类,1.7开始支持,常用方法有:
- 如果对象为空,抛NPE,
相当于if (null == obj) { throw new xxxException; },
但是写成一行代码优雅很多,还可以传入错误描述
T requireNonNull(T obj)
T requireNonNull(T obj, String message) - 判断对象是否为空
boolean isNull(Object obj)
boolean nonNull(Object obj) - 比较两个对象,相比 !=,可以避免NPE,也不用在意顺序
boolean equals(Object a, Object b)
org.apache.commons.lang3.ObjectUtils
apache的Object工具类,常用方法有:
- 所有对象都不为空,返回true
boolean allNotNull(Object... values) - 任意一个对象为空,返回true
boolean anyNotNull(Object... values)
org.apache.commons.lang3.RandomStringUtils
apache的随机字符串工具类,常见方法有:
- 纯字母组成
String randomAlphabetic(int count) - 纯数字组成
String randomNumeric(int count) - 字母或数字组成
String randomAlphanumeric(int count) - 还可以有其他的限制,如限制数字范围等,不一一列举
org.apache.commons.io.IOUtils
apache的IO工具类,常用方法有:
- 关闭流,免去try catch和判空的繁琐步骤。
推荐使用try with resources,但是有些jdk1.6以下的老系统不支持这语法
void closeQuietly(final Closeable... closeables) - 把InputStream转为byte数组
byte[] toByteArray(final InputStream input)
java.util.StringTokenizer
jdk自带的分隔字符串的工具类,可以指定分隔符把字符串分割成多个子串,然后枚举。
使用示例:
org.apache.commons.lang3.ArrayUtils
apache的数组工具类,封装了基本类型的数组的常见操作
org.apache.commons.collections.CollectionUtils
org.springframework.util.CollectionUtils
apache和spring的集合工具类,都封装了集合的常见操作
java.lang.String
- join方法,可以指定分隔符,将List或String数组拼接成字符串
String join(CharSequence delimiter,
Iterable<? extends CharSequence> elements)
String join(CharSequence delimiter, CharSequence... elements)
org.apache.lucene.util.RamUsageEstimator
官方文档: https://lucene.apache.org/core/4_8_1/core/org/apache/lucene/util/RamUsageEstimator.html
pom文件:
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-core</artifactId>
<version>4.0.0</version>
</dependency>
- long sizeOf(Object obj),返回java对象占用内存大小,单位是字节
- String humanSizeOf(Object obj),返回java对象占用内存大小,返回人类可读的形式,如"16 bytes"