初次用到guava,是用Joiner的方法去解决一个字符串拼接的问题。然后见识到了Guava是一个功能强大的类库。Guava是Google的一个开源项目。有集合、缓存 、原生类型支持、并发库、通用注解、字符串处理、I/O等类库。
连接器Joiner
Google Guava提供了Joiner类专门的用来拼接String。
- 处理用分隔符把字符串序列连接起来也可能会遇上不必要的麻烦。如果字符串序列中含有null,那连接操作会更难。Fluent风格的Joiner让连接字符串更简单
Joiner joiner = Joiner.on(",").skipNulls(); return joiner.join("a", null, "b", "c");
上述代码返回”a,b,c”
- Joiner.on(“,”).join(Arrays.asList(1, 5, 7)); // returns “1,5,7”
拆分器Splitter
JDK内建的字符串拆分工具有一些古怪的特性。比如,String.split悄悄丢弃了尾部的分隔符。 问题:”,a,,b,”.split(“,”)返回?
- “”, “a”, “”, “b”, “”
- null, “a”, null, “b”, null
- “a”, null, “b”
- “a”, “b”
- 以上都不对
- 正确答案是5:””, “a”, “”, “b”。只有尾部的空字符串被忽略了。 Splitter使用令人放心的、直白的流畅API模式对这些混乱的特性作了完全的掌控。
Splitter.on(',').trimResults().omitEmptyStrings().split("foo,bar,, qux");
上述代码返回Iterable
String str = "1,2,3,4,5,6,7";
String[] arr = Splitter.on(",").splitToList(str).toArray(new String[] {});
上述代码得到String[].