添加lang3依赖
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
-
常用的判断段空工具类
- 集合类型判断
- CollectionUtils.isEmpty()
- CollectionUtils.isNotEmpty()
- 对象判断
- ObjectUtils.isEmpty()
- ObjectUtils.isNotEmpty()
- 字符串类判断
- StringUtils.isEmpty()
- StringUtils.isNotEmpty()
- StringUtils.isBlank()
- StringUtils.isNotBlank()
- StringUtils.defaultIfEmpty(null,”aa”)
如果第一个参数为空,则返回第二个参数
-
-
- StringUtils.defaultIfBlank(null,”aa”)
-
如果第一个参数为空或者为空格,则返回第二个参数
·Empty和Blank的区别在于是否判断空格,如果使用isEmpty则” ”判断为非空,而isBlank判断为空
三种类型的isEmpty方法在spring框架中都有,其他方法需要添加相应的工具类依赖,在使用中尽量添加相应的工具类,实际上在使用的时候集合判断可以使用ObjectUtils.isEmpty和Object Utils.isNotEmpty,这两个类可以判断对象,数组,集合,map,迭代器,字符串
常用字符串操作工具
-
- StringUtils.join(参数1,参数2)
参数1为数据,参数2为分割符,参数1可以为各种类型数组,集合,迭代器等等
-
-
- StringUtils.joinWith(参数1,可变参数...)
-
参数1为分隔符,可变参数可以为多种类型,会调用join方法,可变参数最终以数组的形式拼接
-
-
- StringUtils.abbreviateMiddle(参数1,参数2,参数3)
-
中间替换
-
-
- StringUtils.abbreviate(参数1,参数2,参数3)
-
结尾替换
其中参数1为要操作的字符串,参数2为要代替的字符串,参数3为截取的个数,参数3的长度大于参数2的长度加2,而且参数三的长度小于参数1,这样替换才会生效,如果参数三大于等于参数1的长度,则提取参数1所有内容而且不替换
-
-
- StringUtils.contains(参数1,参数2)
-
参数1是否包含参数2
-
-
- StringUtils.containsAny(参数1,参数2...)
-
参数1是否包含参数2,或者包含参数n
-
-
- StringUtils.detaultString(参数)
-
如果参数为null,此方法会将null转换为空字符串
-
-
- StringUtils.replace()
-
三个参数,会将参数1中的参数2,替换为参数3
生成随机数工具类
- 数字数组类型
- RandomUtils.nextInt(参数1,参数2)
无参情况下随意生成一个正数,如果有参数,在参数1和参数2中间随意生成 一个整数
-
-
- RandomUtils.nextBoolean()
-
随意生成一个布尔值
-
-
- RandomUtils.nextBytes(参数1)
-
生成一个字节数组,参数1为生成数组的长度
-
-
- RandomUtils.nextDouble(参数1,参数2)
-
与整数生成一样,可以随意生成参数1到参数2之间的随意小数,如果无参则随意生成一个小数
-
-
- RandomUtils.nextLong和RandomUtils.nextFloat
-
与上面生成整数和小数一致
-
- 字符串类型
使用RandomStringUtils类,共有5个方法
-
-
- RandomStringUtils.random(参数1)
-
随机字符串
-
-
- RandomStringUtils.randomAlphabetic(参数1)
-
随机字母(不区分大小写)
-
-
- RandomStringUtils.randomAlphanumeric(参数1)
-
随机字母加数字(不区分大小写)
-
-
- RandomStringUtils.randomAscii(参数1)
-
随机Ascii字符串
-
-
- RandomStringUtils.randomNumeric(参数1)
-
随机字符串数字
参数1为生成的字符串个数
日期类型数据的操作
- DateFormatUtils
- DateFormatUtils.format(参数1,参数2)
参数1为日期类型,参数2 要格式化的类型”yyyy-MM-dd HH:mm:SS”
返回一个字符串类型
-
- DateUtils
- DateUtils.parseDate(参数1,参数2)
- DateUtils
参数1 为字符串”2012-02-02 12:38:44”,参数2 为”yyyy-MM-dd HH:mm:SS”, 返回一个日期类型
-
-
- 增加时间
- addDays(参数1,参数2)
- addYears(参数1,参数2)
- addMonths(参数1,参数2)
- addHours(参数1,参数2)
- addMinutes(参数1,参数2)
- addSeconds(参数1,参数2)
- addWeeks(参数1,参数2)
- addMilliseconds(参数1,参数2)
- 增加时间
-
参数1为Date格式,年 月 日 时 分 秒 周 毫秒在参数1的基础上增加参数 2个单位,如果想减去参数2个单位则将参数2置为负数即可
-
-
- 获取时间片段
- DateUtils.getFragmentInDays(参数1,参数2)
- DateUtils.getFragmentInHours(参数1,参数2)
- DateUtils.getFragmentInMinutes(参数1,参数2)
- DateUtils.getFragmentInSeconds(参数1,参数2)
- DateUtils.getFragmentInMillieseconds(参数1,参数2)
- 获取时间片段
-
参数1为日期,参数2需要使用Calendar.Date(天),Calendar.Year(年)...
其中1表示距离本年或月过去多少天,2表示距离本年或月或日过去多少小时,注意,在使用的时候本小时过去多少分钟的时候不能使用calendar.hour,因为查询分钟的时候不支持10号分片,所以查询的时候需要使用Calendar.HOUR_OF_DAY
-
-
- 清除数据
- DateUtils.ceiling(参数1,参数2)
- 清除数据
-
参数1 为日期格式,参数2为Calendar.YEAR...,如果参数2为年则得到年命开始时间(清除月日和时分秒信息),如果参数2为月则得到下个月开始时间(清除日时分秒时间)
-
-
- 判断是否是同一天
- DateUtils.isSameDay(参数1,参数2 )
- 判断是否是同一天
-
参数1 和参数2 如果是同一天,忽略时分秒,则返回true,否则返回false
-
-
-
- DateUtils.isSameInstant(参数1,参数2)
-
-
判断参数1和参数2 是否是同一时刻,精确到毫秒
-
-
- 设置年月日
- DateUtils.setDays(参数1,参数2)
- DateUtils.setYears(参数1,参数2)
- DateUtils.setMonth(参数1,参数2)
- 设置年月日
-
参数1为日期格式,参数2为设置的数字