org.apache.commons.lang3工具类使用
首先需要引入依赖文章来源:https://www.toymoban.com/news/detail-524452.html
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
</dependency>
常用方法如下:文章来源地址https://www.toymoban.com/news/detail-524452.html
/**
*org.apache.commons.lang3.StringUtils 方法
*/
@Test
void contextLoads() throws ParseException, InterruptedException {
// ************************ 字符串 ***********************************
// 有一个为空则为true
System.out.println("isAnyBlank:" + StringUtils.isAnyBlank("","4","5"));
// 全部不为空则为true
System.out.println("isNoneBlank:" + StringUtils.isNoneBlank("4","5"));
// 全部为空则为true
System.out.println("isAllBlank:" + StringUtils.isAllBlank(""," "));
// 如果字符串尚未以后缀结尾,则在字符串结尾追加后缀
System.out.println("appendIfMissing:" + StringUtils.appendIfMissing("hello","@")); // hello@
// 指定字符串不以某段字符串开头,则自动添加开头
System.out.println("prependIfMissing :" + StringUtils.prependIfMissing("hello","@")); // @hello
// 判断字符串是否以什么结尾
System.out.println("endsWith:" + StringUtils.endsWith("abcd.s@","@"));
/**
* 截取字符串做一个缩减操作 固定占位符 ... 站三个宽度
* 也就是最终会有三个点,最大宽度为总共几个包括...
* 且最大宽度最小为4,如果最大长度大于等于 源字符串则不生效相当于没有进行操作
*/
System.out.println("abbreviate:" + StringUtils.abbreviate("测试字 符串", 6)); // abbreviate:测...
System.out.println("abbreviate:" + StringUtils.abbreviate("abcd.s@", 5)); // abbreviate:ab...
// 首字母转大写
System.out.println("capitalize:" + StringUtils.capitalize("abcd.s@"));
// 首字母转小写
System.out.println("uncapitalize:" + StringUtils.uncapitalize("abcd.s@"));
// 字符串中间填充(长度包含源字符串长度)
System.out.println("center :" + StringUtils.center("测试字 符串",8,"*"));
// 字符串左填充
System.out.println("leftPad :" + StringUtils.leftPad("测试字 符串",5,"*"));
// 字符串右填充
System.out.println("rightPad :" + StringUtils.rightPad("测试字 符串",6,"*"));
// 从字符串中删除最后一个换行符\n、\r、\r\n
System.out.println("chomp :" + StringUtils.chomp("abcd.@569 \r"));
// 剔除字符串最后一个字符(如果最后一个是\n或\r\或\r\n也剔除掉)
System.out.println("chop :" + StringUtils.chop("abcd.@569 \r"));
// 删除字符串中的空白全部 java 的trim只去除首尾的
System.out.println("deleteWhitespace :" + StringUtils.deleteWhitespace("测试字 符串"));
// 比较两个字符串,并返回第二个字符串的剩余部分,从它与第一个不同的地方开始
System.out.println("difference :" + StringUtils.difference("abcd.s@","abcd.@569 \r"));
// 获得多个字符串相同的开头内容,接收参数为多个字符串
System.out.println("getCommonPrefix :" + StringUtils.getCommonPrefix("abc","ac","abcd")); // a
// 获取字符串中的数字
System.out.println("getDigits :" + StringUtils.getDigits("ckds123456cs6.9dkcm")); // 12345669
// 给字符串数组添加知道分隔符
System.out.println("joinWith :" + StringUtils.joinWith(",","abc25","abc")); // abc25,abc
// 字符串截取相当于substring,不同在于当截取字符超过源字符串长度不会报错
System.out.println("mid :" + StringUtils.mid("asdfg",1,8)); // sdfg
// 用另一个字符串覆盖字符串的一部分(指定区域)
System.out.println("overlay :" + StringUtils.overlay("abcdef", "zzzz", 2, 4)); // abzzzzef
//替换字符串内容……等同于java 原生 replace()和 replaceFirst()
System.out.println("replace :" + StringUtils.replace("aba", "a", "z")); // zbz
System.out.println("replaceOnce :" + StringUtils.replaceOnce("aba", "a", "z")); // zba
// //统计一字符串在另一字符串中出现次数
System.out.println("countMatches :" + StringUtils.countMatches("dcabcfccrt","c")); // 4
// 删除字符串中的指定内容
System.out.println("remove :" + StringUtils.remove("abcdef","c")); // abdef
// 删除字符串中结尾(满足是以某段内容结尾)
System.out.println("removeEnd :" + StringUtils.removeEnd("abcdef","ef")); // abcd
// 删除字符串中开头(满足是以某段内容开始)
System.out.println("removeStart :" + StringUtils.removeStart("abcdef","a")); // bcdef
// //重复字符/字符串
System.out.println("repeat :" + StringUtils.repeat("abcdef",5)); // abcdefabcdefabcdefabcdefabcdef
// 字符串翻转
System.out.println("reverse :" + StringUtils.reverse("abcdef")); // fedcba
// 根据指定分隔符进行反转,分隔符之间的字符不进行反转
System.out.println("reverseDelimited :" + StringUtils.reverseDelimited("abc,def",',')); // def,abc
// 将字符串后面指定个数的字符翻转到前面
System.out.println("rotate :" + StringUtils.rotate("abc,defgfd",3)); // gfdabc,def
// 截取指定字符串前面的内容
System.out.println("substringBefore :" + StringUtils.substringBefore("abcba", "b")); // a
// 截取最后指定字符串前面的内容
System.out.println("substringBeforeLast :" + StringUtils.substringBeforeLast("abcba", "b")); // abc
// 截取指定字符串后面的内容
System.out.println("substringAfter :" + StringUtils.substringAfter("abcba", "b")); // cab
// 截取最后指定字符串后面的内容
System.out.println("substringAfterLast :" + StringUtils.substringAfterLast("abcba", "b")); // a
// 截取指定字符串中间的内容
System.out.println("substringBetween :" + StringUtils.substringBetween("tagabctag", "tag")); // abc
System.out.println("substringBetween :" + StringUtils.substringBetween("yabczyabcz", "y", "z")); // abc
// 截断字符串 最大宽度科超过源字符串长度不会报错
System.out.println("truncate :" + StringUtils.truncate("abcba",6)); // abcba
// 判断字符串数字
System.out.println("isNumeric :" + StringUtils.isNumeric("12 3")); // false
System.out.println("isNumericSpace :" + StringUtils.isNumericSpace("12 3")); // true
// 判断字符串是否只有字母和数字组成 汉字可通过
System.out.println("isAlphanumeric :" + StringUtils.isAlphanumeric("12xs好j3")); // true
// 判断字符串是否只有字母和数字和空格组成 汉字可通过
System.out.println("isAlphanumericSpace :" + StringUtils.isAlphanumericSpace("12xs 好j3")); // true
// 字符串截取,不会忽略空数据
System.out.println("splitByWholeSeparator :" + Arrays.asList(StringUtils.splitByWholeSeparator("12x,s 好j3,,", ","))); // [12x, s 好j3, ]
// ************************ 数字 ***********************************
// //判断字符串是否全是整数
System.out.println("isDigits :" + NumberUtils.isDigits("12.3")); // false
//从数组中选出最大值
System.out.println("max :" + NumberUtils.max(1, 2, 3, 4)); // 4
//从数组中选出最小值
System.out.println("min :" + NumberUtils.min(1, 2, 3, 4)); // 1
//将一个字符串转换为int类型,失败返回0
System.out.println("toInt :" + NumberUtils.toInt("123")); // 123
//将一个字符串转换为int类型,失败返回自定义
System.out.println("toDouble :" + NumberUtils.toDouble("123.1", 0)); // 123.1
//将一个字符串转换为BigDecimal,自定义小数位数,自定义舍入模式,默认保留2位小数,舍入模式为RoundingMode.HALF_EVEN
System.out.println("toScaledBigDecimal :" + NumberUtils.toScaledBigDecimal("2.1", 2, RoundingMode.HALF_UP)); // 2.10
// ,判断一个字符串是否可转化为数字isParsable / isCreatable
System.out.println("isParsable :" + NumberUtils.isParsable("3.26")); // true
System.out.println("isCreatable :" + NumberUtils.isCreatable("3.26")); // true
// ************************ 数组 ***********************************
//创建数组
String[] array = ArrayUtils.toArray("1", "2");
System.out.println("判断数组中是否包含某一对象 :" + ArrayUtils.contains(array, "33"));
// ************************ 日期工具 ***********************************
System.out.println("Date 转化为字符串 :" + DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss"));
System.out.println("字符串 转 Date :" + DateUtils.parseDate("2022-12-19 22:00:00", "yyyy-MM-dd HH:mm:ss"));
Date now = new Date();
Date addDays = DateUtils.addDays(now, 1);
System.out.println("Date 加 1 天 :" + addDays);
Date addMinutes = DateUtils.addMinutes(now, 30);
System.out.println("Date 加 30 分钟 :" + addMinutes);
Date addSeconds = DateUtils.addSeconds(now, -180);
System.out.println("Date 减去 180 秒 :" + addSeconds);
System.out.println("// 判断是否 为 同一天 :" + DateUtils.isSameDay(addDays, addMinutes));
// 过滤时分秒,若 now 为 2020-05-07 22:13:00 调用 truncate 方法以后
// 返回时间为 2020-05-07 00:00:00
Date truncate = DateUtils.truncate(now, Calendar.DATE);
// ************************ 时间计算 ***********************************
// 创建之后立刻计时
StopWatch watch = StopWatch.createStarted();
// 若想主动开始计时,创建计时器,调用 start 方法开始计时
StopWatch watch1 = StopWatch.create();
watch1.start();
// 模拟其他代码耗时
TimeUnit.SECONDS.sleep(2L);
System.out.println("统计从开始到现在运行时间:" + watch.getTime() + "ms"); //2000ms
TimeUnit.SECONDS.sleep(2L);
watch.split();
System.out.println("从start到此刻为止的时间:" + watch.getTime()); //4000
System.out.println("从开始到第一个切入点运行时间:" + watch.getSplitTime()); //4000
Thread.sleep(1000);
watch.split();
System.out.println("从开始到第二个切入点运行时间:" + watch.getSplitTime()); //5001
watch.reset(); //重置后必须使用start方法
watch.start();
Thread.sleep(1000);
System.out.println("重新开始后到当前运行时间是:" + watch.getTime()); //1000
watch.suspend(); //暂停
Thread.sleep(6000); //模拟暂停6秒钟
watch.resume(); //上面suspend,这里要想重新统计,需要恢复一下
System.out.println("恢复后执行的时间是:" + watch.getTime()); //1000 注意此时这个值还是1000
watch.stop();
System.out.println("花费的时间 ==>" + watch.getTime() + "ms"); //1000ms
System.out.println("花费的时间 ==>" + watch.getTime(TimeUnit.SECONDS) + "s"); //1s 可以直接转成s
}
到了这里,关于org.apache.commons.lang3工具类使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!