commons-lang3常用方法

commons-lang3常用方法

一、引入依赖

<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.8.1</version>
</dependency>

二、StringUtils

  • abbreviateMiddle截取指定字符串,中间使用指定字符代替

方法:public static String abbreviateMiddle(final String str, final String middle, final int length) {}

str:截取的字符串

middle:代替的字符

length:截取的长度

注意:截取的长度不能小于2

/**
* 截取指定的字符串,中间用指定字符代替。前面字符个数 + 代替字符个数 + 后2个字符 = 截取的字符个数
* 显示5个长度的字符串,除了最后一个中间用设置的符号代替
* 长度不能小于   2
*/
//截取9个字符,中间使用四个*代替
String str2 = StringUtils.abbreviateMiddle("15889009897","****",9);
System.out.println(str2); //158****97
//字符刚好只有10个
String s1 = StringUtils.abbreviateMiddle("1342354534", "**", 10);
System.out.println(s1); //1342354534
//截取5个字符
String s2 = StringUtils.abbreviateMiddle("12345678910", "*", 5);
System.out.println(s2); //12*10
//截取长度不能小于2
String s3 = StringUtils.abbreviateMiddle("12345678910", "*", 2);
System.out.println(s3); //12345678910

在这里插入图片描述

  • abbreviate截取指定字符串,多的用指定字符代替

方法:public static String abbreviate(final String str, final int maxWidth) {}显示指定字符串,如果字符串个数大于maxWidth,用 ...代替。

方法:public static String abbreviate(final String str, final String abbrevMarker, final int maxWidth) {},指定字符代替。

注意:maxWidth不能小于3,因为后面就有三个点,就是三个字符了

//显示6个长的的字符串,多的用三个点代替(...)
StringUtils.abbreviate("abc中文asdfdefg",6);//输出结果:abc...
StringUtils.abbreviate("这是中文哦可以全部显示吗",5);//这是...
StringUtils.abbreviate("abcdefgh",12); //abcdefgh
StringUtils.abbreviate("abcdaldf","**",3); //a**

在这里插入图片描述

  • contains检测某个字符串中是否包含某个字符

方法:public static boolean contains(final CharSequence seq, final CharSequence searchSeq) {}

检测seq字符串中是否包含searchSeq字符

seq:被检测的字符串

searchSeq:检测的字符串

//检测abcde字符串中是否包含abc字符
StringUtils.contains("abcde", "abc"); //true

在这里插入图片描述

  • containsAny检测某个字符串中是否包含字符串1或者字符串2……

方法:public static boolean containsAny(final CharSequence cs, final CharSequence... searchCharSequences) {}

//检测字符串abcdef中是否保护abm或者y
StringUtils.containsAny("abcdef", "abm", "y"); //false
//检测abcdefg字符串中是否包含 "b"或者"h"或者"N”字符串
StringUtils.containsAny("abcdefg", "b", "h", "N"); //true

在这里插入图片描述

  • defaultStringnull空字符串转为 ""空字符串

方法:public static String defaultString(final String str) {}

StringUtils.defaultString(null);// ""
StringUtils.defaultString("");// ""
StringUtils.defaultString("bat");//"bat"

在这里插入图片描述

  • isEmptyisNotEmpty判断字符串是否为空

方法:public static boolean isEmpty(final CharSequence cs) {}

cs为空返回true

public static boolean isNotEmpty(final CharSequence cs) {}

cs为空返回true

StringUtils.isEmpty(null);//true
StringUtils.isEmpty("");//true
StringUtils.isEmpty(" ");//false
StringUtils.isEmpty("bob");//false
StringUtils.isEmpty("  bob  ");//false
StringUtils.isNotEmpty(null);//false
StringUtils.isNotEmpty("");//false
StringUtils.isNotEmpty(" ");//true
StringUtils.isNotEmpty("bob");//true
StringUtils.isNotEmpty("  bob  ");//true

在这里插入图片描述

  • isBlankisNotBlank判断字符串是否为空
StringUtils.isBlank(null);//true
StringUtils.isBlank("");//true
StringUtils.isBlank("");//true
StringUtils.isBlank("bob");//false
StringUtils.isBlank("bob");//false
StringUtils.isNotBlank(null);//false
StringUtils.isNotBlank("");//false
StringUtils.isNotBlank("");//false
StringUtils.isNotBlank("bob");//true
StringUtils.isNotBlank("bob");//true

注意:isEmptyisBlank区别

isEmpty认为 " "是不等于空的。

isBlank认为 " "是等于空的,具有一个前后去掉空格的意思。

在这里插入图片描述

  • replace替换字符串

方法:public static String replace(final String text, final String searchString, final String replacement) {}

text字符串中的 searchString字符替换成 replacement

StringUtils.replace(null,,);//null
StringUtils.replace("",,);//""
StringUtils.replace("any",null,);//"any"
StringUtils.replace("any",,null);//"any"
StringUtils.replace("any","",);//"any"
StringUtils.replace("aba","a",null);//"aba"
StringUtils.replace("aba","a","");//"b"
StringUtils.replace("aba","a","z");//"zbz"

在这里插入图片描述

三、 RandomUtils

  • nextBoolean返回一个随机布尔值

方法:public static boolean nextBoolean() {}

//返回一个随机布尔值
boolean b = RandomUtils.nextBoolean();
System.out.println(b);

在这里插入图片描述

  • nextBytes生活指定长度的随机字节数组

方法:public static byte[] nextBytes(final int count) {}

//随机生成10个长的的byte数组
byte[] bytes = RandomUtils.nextBytes(10);
//打印字节数组
System.out.println(Arrays.toString(bytes));
//输出结果:[105, 86, 28, 57, -113, 13, -30, -83, -96, 126]

在这里插入图片描述

  • nextInt指定范围生成int类型的随机数

方法:public static int nextInt(final int startInclusive, final int endExclusive) {}

for (int i = 0; i < 20; i++) {
	
    //指定范围随机数1-5 不包括5
    int rand = RandomUtils.nextInt(1, 5);
    
    System.out.print(rand+"  ");
}
输出结果:4  3  2  2  2  2  4  1  3  3  3  2  3  4  4  2  2  1  3  2 

在这里插入图片描述

  • nextDouble指定范围生成double类型的随机数

方法:public static double nextDouble(final double startInclusive, final double endInclusive) {}

//1-4.99999之间的随机数,nextLong,nextFloat
double v = RandomUtils.nextDouble(1, 5); //3.6664777207393597
System.out.println(v);

在这里插入图片描述

注意:导包的时候必要导错了,org.apache.commons.lang3,都说使用 commons-lang3工具了,用的方法自然是 org.apache.commons.lang3下面的了。不要到时候将包导错了,你说怎么效果不太一样,那就尴尬了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值