commons-lang3

22 篇文章 0 订阅

简介

commons-lang3常用工具方法介绍

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.9</version>
</dependency>

整体结构

在这里插入图片描述

org.apache.commons.lang3.ObjectUtils			对象工具类
org.apache.commons.lang3.math.NumberUtils		数值工具类
org.apache.commons.lang3.ArrayUtils				数组工具类
org.apache.commons.lang3.BooleanUtils			布尔工具类
org.apache.commons.lang3.RandomStringUtils		随机字符串工具类
org.apache.commons.lang3.RandomUtils			随机数值工具类
org.apache.commons.lang3.SystemUtils			系统工具类
org.apache.commons.lang3.time.DateFormatUtils		日期格式化工具类,将日期转为指定格式的字符串
org.apache.commons.lang3.time.DateUtils				日期工具类,将指定格式的字符串转为日期

常用工具类

字符串的处理类(StringUtils)

在这里插入图片描述

 //缩短到某长度,用...结尾.其实就是(substring(str, 0, max-3) + "...")
  //public static String abbreviate(String str,int maxWidth)
  StringUtils.abbreviate("abcdefg", 6);// ---"abc..."
  
  //字符串结尾的后缀是否与你要结尾的后缀匹配,若不匹配则添加后缀
  StringUtils.appendIfMissing("abc","xyz");//---"abcxyz"
  StringUtils.appendIfMissingIgnoreCase("abcXYZ","xyz");//---"abcXYZ"
  
  //首字母大小写转换
  StringUtils.capitalize("cat");//---"Cat"
  StringUtils.uncapitalize("Cat");//---"cat"
  
  //字符串扩充至指定大小且居中(若扩充大小少于原字符大小则返回原字符,若扩充大小为 负数则为0计算 )
  StringUtils.center("abcd", 2);//--- "abcd"
  StringUtils.center("ab", -1);//--- "ab"
  StringUtils.center("ab", 4);//---" ab "
  StringUtils.center("a", 4, "yz");//---"yayz"
  StringUtils.center("abc", 7, "");//---"  abc  "
  
  //去除字符串中的"\n", "\r", or "\r\n"
  StringUtils.chomp("abc\r\n");//---"abc"
  
  //判断一字符串是否包含另一字符串
  StringUtils.contains("abc", "z");//---false
  StringUtils.containsIgnoreCase("abc", "A");//---true
  
  //统计一字符串在另一字符串中出现次数
  StringUtils.countMatches("abba", "a");//---2
  
  //删除字符串中的梭有空格
  StringUtils.deleteWhitespace("   ab  c  ");//---"abc"
  
  //比较两字符串,返回不同之处。确切的说是返回第二个参数中与第一个参数所不同的字符串
  StringUtils.difference("abcde", "abxyz");//---"xyz"
  
  //检查字符串结尾后缀是否匹配
  StringUtils.endsWith("abcdef", "def");//---true
  StringUtils.endsWithIgnoreCase("ABCDEF", "def");//---true
  StringUtils.endsWithAny("abcxyz", new String[] {null, "xyz", "abc"});//---true
  
  //检查起始字符串是否匹配
  StringUtils.startsWith("abcdef", "abc");//---true
  StringUtils.startsWithIgnoreCase("ABCDEF", "abc");//---true
  StringUtils.startsWithAny("abcxyz", new String[] {null, "xyz", "abc"});//---true
  
  //判断两字符串是否相同
  StringUtils.equals("abc", "abc");//---true
  StringUtils.equalsIgnoreCase("abc", "ABC");//---true
  
  //比较字符串数组内的所有元素的字符序列,起始一致则返回一致的字符串,若无则返回""
  StringUtils.getCommonPrefix(new String[] {"abcde", "abxyz"});//---"ab"
  
  //正向查找字符在字符串中第一次出现的位置
  StringUtils.indexOf("aabaabaa", "b");//---2
  StringUtils.indexOf("aabaabaa", "b", 3);//---5(从角标3后查找)
  StringUtils.ordinalIndexOf("aabaabaa", "a", 3);//---1(查找第n次出现的位置)
  
  //反向查找字符串第一次出现的位置
  StringUtils.lastIndexOf("aabaabaa", "b");//---5
  StringUtils.lastIndexOf("aabaabaa", "b", 4);//---2
  StringUtils.lastOrdinalIndexOf("aabaabaa", "ab", 2);//---1
  
  //判断字符串大写、小写
  StringUtils.isAllUpperCase("ABC");//---true
  StringUtils.isAllLowerCase("abC");//---false
  
  //判断是否为空(注:isBlank与isEmpty 区别)
  StringUtils.isBlank(null);StringUtils.isBlank("");StringUtils.isBlank(" ");//---true
  StringUtils.isNoneBlank(" ", "bar");//---false
  
  StringUtils.isEmpty(null);StringUtils.isEmpty("");//---true
  StringUtils.isEmpty(" ");//---false
  StringUtils.isNoneEmpty(" ", "bar");//---true
  
  //判断字符串数字
  StringUtils.isNumeric("123");//---false
  StringUtils.isNumeric("12 3");//---false (不识别运算符号、小数点、空格……)
  StringUtils.isNumericSpace("12 3");//---true
  
  //数组中加入分隔符号
  //StringUtils.join([1, 2, 3], ";");//---"1;2;3"
  
  //大小写转换
  StringUtils.upperCase("aBc");//---"ABC"
  StringUtils.lowerCase("aBc");//---"abc"
  StringUtils.swapCase("The dog has a BONE");//---"tHE DOG HAS A bone"
  
  //替换字符串内容……(replacePattern、replceOnce)
  StringUtils.replace("aba", "a", "z");//---"zbz"
  StringUtils.overlay("abcdef", "zz", 2, 4);//---"abzzef"(指定区域)
  StringUtils.replaceEach("abcde", new String[]{"ab", "d"},
          new String[]{"w", "t"});//---"wcte"(多组指定替换ab->w,d->t)
  
  //重复字符
  StringUtils.repeat(‘e‘, 3);//---"eee"
  
  //反转字符串
  StringUtils.reverse("bat");//---"tab"
  
  //删除某字符
  StringUtils.remove("queued", ‘u‘);//---"qeed"
  
  //分割字符串
  StringUtils.split("a..b.c",.);//---["a", "b", "c"]
  StringUtils.split("ab:cd:ef", ":", 2);//---["ab", "cd:ef"]
  StringUtils.splitByWholeSeparator("ab-!-cd-!-ef", "-!-", 2);//---["ab", "cd-!-ef"]
  StringUtils.splitByWholeSeparatorPreserveAllTokens("ab::cd:ef", ":");//-["ab"," ","cd","ef"]
  
  //去除首尾空格,类似trim……(stripStart、stripEnd、stripAll、stripAccents)
  StringUtils.strip(" ab c ");//---"ab c"
  StringUtils.stripToNull(null);//---null
  StringUtils.stripToEmpty(null);//---""
  
  //截取字符串
  StringUtils.substring("abcd", 2);//---"cd"
  StringUtils.substring("abcdef", 2, 4);//---"cd"
  
  //left、right从左(右)开始截取n位字符
  StringUtils.left("abc", 2);//---"ab"
  StringUtils.right("abc", 2);//---"bc"
  //从第n位开始截取m位字符       n  m
  StringUtils.mid("abcdefg", 2, 4);//---"cdef"
  
  StringUtils.substringBefore("abcba", "b");//---"a"
  StringUtils.substringBeforeLast("abcba", "b");//---"abc"
  StringUtils.substringAfter("abcba", "b");//---"cba"
  StringUtils.substringAfterLast("abcba", "b");//---"a"
  
  StringUtils.substringBetween("tagabctag", "tag");//---"abc"
  StringUtils.substringBetween("yabczyabcz", "y", "z");//---"abc"

ArrayUtils

在这里插入图片描述

  //创建数组
  String[] array = ArrayUtils.toArray("1", "2");
  //判断两个数据是否相等,如果内容相同, 顺序相同 则返回 true
  ArrayUtils.isEquals(arr1,arr2);
  //判断数组中是否包含某一对象
  ArrayUtils.contains(arr, "33");
  //二维数组转换成MAP
  Map map = ArrayUtils.toMap(new String[][] { 
          { "RED", "#FF0000" }, { "GREEN", "#00FF00" }, { "BLUE", "#0000FF" } });

BooleanUtils

在这里插入图片描述

ClassUtils

在这里插入图片描述

RandomUtils

在这里插入图片描述

随机数生成类(RandomStringUtils)

  //随机生成n位数数字
  RandomStringUtils.randomNumeric(n);
  
  //在指定字符串中生成长度为n的随机字符串
  RandomStringUtils.random(n, "abcdefghijk");
  
  //指定从字符或数字中生成随机字符串
  System.out.println(RandomStringUtils.random(n, true, false));  
  System.out.println(RandomStringUtils.random(n, false, true));

数字类NumberUtils

  //从数组中选出最大值
   NumberUtils.max(new int[] { 1, 2, 3, 4 });//---4
   
   //判断字符串是否全是整数
   NumberUtils.isDigits("153.4");//--false
   
   //判断字符串是否是有效数字
   NumberUtils.isNumber("0321.1");//---false    

日期类DateUtils

   //日期加n天
   DateUtils.addDays(new Date(), n);
   
   //判断是否同一天
   DateUtils.isSameDay(date1, date2);
   
   //字符串时间转换为Date
   DateUtils.parseDate(str, parsePatterns);

加密解密类 DigestUtils

 // MD5加密
  String encodeStr=DigestUtils.md5Hex(text + key);
  
 // 密钥进行验证
   String md5Text = md5(text, key);
    if(md5Text.equalsIgnoreCase(md5))
    {
        System.out.println("MD5验证通过");
        return true;
    }

ObjectUtils

根据 object 类型判断 是否为null或者空

commons-lang是一个开源的Java类库,提供了许多常用的工具类和方法,能够帮助开发者简化Java编程过程中的一些常见任务。 commons-lang 3-12.0是commons-lang类库的一个特定版本。这个版本是commons-lang 3系列的第12个发布版本,也是该系列的最新版本。它包含了在之前版本的基础上进行的一些改进和修复。 commons-lang 3-12.0版本主要提供了以下一些功能和特性: 1. 字符串操作:commons-lang提供了很多关于字符串操作的工具类和方法,如字符串连接、截取、格式化、编码解码等,使得处理字符串变得更加简单和高效。 2. 数据类型转换:commons-lang提供了各种数据类型之间的转换工具类,例如将字符串转换为整数、日期转换为字符串等,方便开发者进行各种类型的数据转换。 3. 数组操作:commons-lang提供了一些有关数组操作的工具方法,如数组的复制、填充、排序、查找等,使得开发者可以更方便地操作数组数据。 4. 异常处理:commons-lang提供了一些异常处理的工具类和方法,例如异常转换、异常堆栈信息处理等,能够帮助开发者更好地处理和记录异常信息。 同时,commons-lang还提供了其他一些实用的工具类和方法,如日期处理、随机数生成、文件操作、反射等等,能够帮助开发者提高开发效率和代码质量。 总的来说,commons-lang 3-12.0是一个非常实用的Java类库,它的存在不仅简化了Java编程中一些常见任务的处理,也提高了代码的可读性和可维护性。无论是在日常的开发工作中,还是在开发一些大型项目中,都可以考虑使用commons-lang来提升开发效率和质量。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值