Joiner、Strings、Splitter使用

本文介绍Java中Strings类的多种用法,包括字符串填充、空值校验及转换、重复、公共部分获取等,并展示了Joiner和Splitter类在连接与拆分字符串时的强大功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Strings

//padEnd 尾填充
String a = "12345";
String b = Strings.padEnd(a, 7, 'x');
System.out.println(b); // 12345xx
//padStart 头填充
String a="12345";
String b=Strings.padStart(a, 7, 'x');
System.out.println(b); // xx12345
//Strings.isNullOrEmpty  空校验
String a = "";
boolean b = Strings.isNullOrEmpty(a);
System.out.println(b);
//Strings.nullToEmpty  如果为null 转为""
String a = null;
String b = Strings.nullToEmpty(a);
System.out.println(b);
//Strings.emptyToNull  如果为"" 转为null
String a = "";
String b = Strings.emptyToNull(a);
System.out.println(b); // null
//Strings.repeat  重复字符串
String a = "123";
String b = Strings.repeat(a, 3);
System.out.println(b); // 123123123
//Strings.commonPrefix 获取a,b左公共部分字符串
String a = "abcdsfsfs";
String b = "abc3sfsd";
String c = Strings.commonPrefix(a, b);
System.out.println(c); // abc
//Strings.commonSuffix 获取a,b右公共部分字符串
String a = "faaxyz";
String b = "fwefxyz";
String c = Strings.commonSuffix(a, b);
System.out.println(c); // xyz

Joiner 

// .on("; ")以; 分隔 .skipNulls()忽略null
Joiner joiner = Joiner.on("; ").skipNulls();
String aString = joiner.join("aaa", null, "bbb", "ccc");
System.out.println(aString);// aaa; bbb; ccc
// useForNull(String)方法可以给定某个字符串来替换null
joiner = Joiner.on("; ").useForNull("ccc");
aString = joiner.join("aaa", null, "bbb", "ccc");
System.out.println(aString);// aaa; ccc; bbb; ccc
joiner = Joiner.on(",");
StringBuilder builder = new StringBuilder("filed: ");
joiner.appendTo(builder, Arrays.asList("a", "b", "c"));
System.out.println(builder); // filed: a,b,c
String a = Joiner.on("&")
        .withKeyValueSeparator("=")
        .join(ImmutableMap.of("id", "001", "name", "zero"));
System.out.println(a); // id=001&name=zero

Splitter

// 拆分字符串为List集合
Splitter splitter = Splitter.on(",");
String str = "a,b,c";
List<String> list = splitter.splitToList(str);
System.out.println(list);
//omitEmptyStrings()-----从结果中自动忽略空字符串
//trimResults()-----移除结果字符串的前后空白
//trimResults(CharMatcher)-----给定匹配器,移除结果字符串的前导匹配字符和尾部匹配字符
//limit(int)-----限制拆分出的字符串数量
Iterable<String> strsIt = Splitter.on(',')
        .trimResults()
        .omitEmptyStrings()
        .split(", a,,b,");//[a, b]
Map<String, String> m = Splitter.on("&")
        .withKeyValueSeparator("=")
        .split("id=001&name=zero");
System.out.println(m); //{id=001, name=zero}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值