Guava指南个人翻译 -- String utilities 字符串工具类

本文介绍了Guava库中的字符串工具类,包括Joiner、Splitter、CharMatcher和Charsets等功能。Joiner方便地实现了字符串连接,Splitter提供灵活的字符串分割,CharMatcher则是一个字符匹配器,Charsets涵盖了常见的字符集。此外,还提到了大小写格式化工具CaseFormat的使用。这些工具简化了Java中字符串的处理操作。
摘要由CSDN通过智能技术生成

String utilities 字符串工具类

Joiner

将被分隔符分割的字符串序列串联起来,可能会产生些不必要的麻烦, 如果你的字符串序列中包含几个 null,
那连接操作将会更为困难, 那么 Fluent 风格的 [Joiner] 类就可以将连接操作变得非常容易.

// skipNulls() 跳过 null , 忽略 null 在字符串中发挥的作用
Joiner joiner = Joiner.on("; ").skipNulls();
return joiner.join("Harry", null, "Ron", "Hermione");

代码返回了 “Harry; Ron; Hermione” 字符串, 另外, 使用 useForNull(String) 方法,
你可以使用任意字符串来代替 null.

// 使用 useForNull(String) 方法,使用自定义字符串代替 null
Joiner joiner = Joiner.on(";").useForNull("Hi");
return joiner.join("Harry", null, "Ron", "Hermione");
// 代码将会返回 Harry", "Hi", "Ron", "Hermione"

你也可以在对象中使用 Joiner, 这时, Joiner 会将对象的 toString() 值连接起来.

Joiner.on(",").join(Arrays.asList(1, 5, 7)); // returns "1,5,7"

警告: joiner 的实例总是不可变的(具体请参考joiner的构造以及具体方法),
也就是使用 joiner 的构造方法总会返回一个新的 Joiner 对象, 这使 Joiner 是线程安全的,
所以你可以将其定义为一个 static final 常量.

Splitter 分割(隔)

在 Java 内建的工具类中,字符串拆分工具总有着一些莫名奇妙的特性. 举个栗子,
String.split 偷偷抛弃了结尾的分隔符, StringTokenizer 则只关心五种空白字符(” “,”\t”,”\n”,”\r”,”\f”) 不管其他.

问: 执行",a,,b,".split(",") 之后, 将会返回什么?

  1. "", "a", "", "b", ""
  2. null, "a", null, "b", null
  3. "a", null, "b"
  4. "a", "b"
  5. 以上都不对

正确答案是第五项: 以上都不对. "", "a", "", "b" 才是最终的返回结果,只有结尾的空字符串被忽略了.
[

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值