【Java常用工具类汇总 2,Java面试题百度云

System.out.println(Strings.padStart("zs", 1, '*'));//zs,需要注意,这里不会返回s

System.out.println(Strings.padStart("zs", 2, '*'));//zs

System.out.println(Strings.padStart("zs", 3, '*'));//*zs



//padEnd:为达到固定长度,在字符串结尾补全某字符

System.out.println(Strings.padEnd("zs", 1, '*'));//zs,需要注意,这里不会返回s

System.out.println(Strings.padEnd("zs", 2, '*'));//zs

System.out.println(Strings.padEnd("zs", 3, '*'));//zs*



//repeat:重复某字符串若干次,并拼接在一起

System.out.println(Strings.repeat("zs", 2));//zszs

System.out.println(Strings.repeat("java", 3));//javajavajava

}




三、连接器 Joiner

------------



### 1、代码实例



用分隔符将多个字符串(或数组元素)连接成一个字符串。



常用方法如下:



1.  on:用符号分隔

2.  splitToList:分隔为list

3.  omitEmptyStrings:去掉分隔后的空格

4.  trimResults():去除每一行的空格 

5.  trimResults(CharMatcher.JAVA\_DIGIT):去掉每一行的数字



private static void test05() {

String str = "zs,,ls,     ww,,,gr";

// 逗号分隔转为list

System.out.println(Splitter.on(",").splitToList(str));//[zs, , ls,      ww, , , gr]



// 去掉分隔后的空格

System.out.println(Splitter.on(",").omitEmptyStrings().splitToList(str));//[zs, ls,      ww, gr]



// 去除每一行的空格

System.out.println(Splitter.on(",").omitEmptyStrings().trimResults().splitToList(str));//[zs, ls, ww, gr]



String str2 = "zs,,ls2,     ww,,,zs";

System.out.println(Splitter.on(",").omitEmptyStrings().trimResults().splitToList(str2));//[zs, ls2, ww, zs]

// 去掉每一行指定的字符

System.out.println(Splitter.on(",").omitEmptyStrings().trimResults(CharMatcher.javaDigit()).splitToList(str2));//[zs, ls,      ww, zs]



// 既想去掉空格又想去掉数字,,,只去掉了数字

System.out.println(Splitter.on(",").omitEmptyStrings().trimResults().trimResults(CharMatcher.javaDigit()).splitToList(str2));//[zs, ls,      ww, zs]

// 既想去掉空格又想去掉数字,,,只去掉了空格,,感觉trimResults不能连续使用,如果连续只会选择最后一个有效?

System.out.println(Splitter.on(",").omitEmptyStrings().trimResults(CharMatcher.javaDigit()).trimResults().splitToList(str2));//[zs, ls2, ww, zs]



/**

 * on :map item之间分隔符

 withKeyValueSeparator:定义map项的分隔符

 */

//转为指定格式字符串

System.out.println(Joiner.on(";").withKeyValueSeparator("=").join(ImmutableMap.of("id", "1", "name", "zs")));//id=1;name=zs



//指定格式字符串转为map

System.out.println(Splitter.on(";").withKeyValueSeparator("=").split("id=1;name=zs"));//{id=1, name=zs}

}




### 2、连接器 Joiner 小测试



> 小练习:

> 

> 需求:

> 

> ①有一个\[1, , 2, null, 3\]

> 

> ②按逗号分隔,并去掉null和""



private static List makeList() {

List<String> list = new ArrayList<String>();

list.add("1");

list.add("");

list.add("2");

list.add(null);

list.add("3");

return list;//[1, , 2, null, 3]

}

static String delimiter = “,”;

//循环方式

private static void test01() {

List<String> list = makeList();

StringBuilder builder = new StringBuilder();

for(String str : list) {

    if(StringUtils.isNotEmpty(str)) {

        builder.append(str+delimiter);

    }

}

System.out.println(builder);//1,2,3,

builder.setLength(builder.length() - delimiter.length());

System.out.println(builder);//1,2,3

}

//Java8 stream方式

private static void test02() {

List<String> list = makeList();



System.out.println(list.stream().filter(x -> StringUtils.isNotEmpty(x)).collect(Collectors.joining(",")));//1,2,3



System.out.println(list.stream().filter(StringUtils::isNotEmpty).collect(Collectors.joining(",")));//1,2,3

}

//Guava Joiner

private static void test03() {

List<String> list = makeList();

System.out.println(Joiner.on(",").join(list));//java.lang.NullPointerException



System.out.println(Joiner.on(",").join(list.stream().filter(StringUtils::isNotEmpty).collect(Collectors.toList())));//1,2,3

}

// java.lang

private static void test04() {

List<String> list = makeList();

System.out.println(String.join(",", list.stream().filter(StringUtils::isNotEmpty).collect(Collectors.toList())));//1,2,3

}




四、CharMatcher

-------------



常用方法如下:



1.  javaDigit:数字

2.  javaLowerCase:小写

3.  javaUpperCase:大写

4.  whitespace:空格

5.  matches:匹配,返回Boolean

6.  removeFrom:移除指定类型

7.  retainFrom:除指定字符外全部移除



private static void test06() {

//判断是否是数字类型

System.out.println(CharMatcher.javaDigit().matches('1'));//true



System.out.println(CharMatcher.javaDigit().matches('z'));//false



//将某字符串的数字部分替换为某字符

System.out.println(CharMatcher.javaDigit().replaceFrom("hello world666", "1"));//hello world111



//javaLowerCase:小写

System.out.println(CharMatcher.javaLowerCase().matches('a'));//true

System.out.println(CharMatcher.javaLowerCase().matches('A'));//false



//javaUpperCase:大写

System.out.println(CharMatcher.javaUpperCase().matches('a'));//false

System.out.println(CharMatcher.javaUpperCase().matches('A'));//true



//移除空格

System.out.println(CharMatcher.whitespace().removeFrom("hello world666"));//helloworld666



//移除数字

System.out.println(CharMatcher.javaDigit().removeFrom("hello world666"));//hello world



//移除小写字母

System.out.println(CharMatcher.javaLowerCase().removeFrom("hello worldAAA666"));//  AAA666



//移除小写字母或数字

System.out.println(CharMatcher.javaLowerCase().or(CharMatcher.javaDigit()).removeFrom("hello worldAAA666"));// AAA



//除指定字符外全部移除

System.out.println(CharMatcher.javaUpperCase().retainFrom("hello worldAAA666"));//AAA



//判断某字符串包含几个某字符

System.out.println(CharMatcher.is('o').countIn("hello world"));//2



//去掉连续空格,并用指定字符替换空格

System.out.println(CharMatcher.whitespace().trimAndCollapseFrom("hello world    AAA666", ' '));//hello world AAA666



System.out.println(CharMatcher.whitespace().trimAndCollapseFrom("hello world    AAA666", '*'));//hello*world*AAA666

}




五、指定字符串格式转换

-----------



private static void test07() {

//hyphen 连字符;camel 骆驼

最后

如果觉得本文对你有帮助的话,不妨给我点个赞,关注一下吧!

CodeChina开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频】

dCollapseFrom(“hello world AAA666”, '’));//helloworld*AAA666

}




五、指定字符串格式转换

-----------



private static void test07() {

//hyphen 连字符;camel 骆驼

最后

如果觉得本文对你有帮助的话,不妨给我点个赞,关注一下吧!

CodeChina开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频】

[外链图片转存中…(img-gcIE18sU-1630663488666)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值