Google Guava学习笔记guava

Getting Started With Google Guav

2016-08-26  本文已影响84人  Viking_Den

使用Splitter

Splitter与Joiner恰恰相反,将一个字符串已一个分隔符分隔,返回一字符串数组。下面是使用JDK的String类中的split方法示例:

JDK String split.png

输出结果:

JDK String split result.png

从上面可以看出,中间有些空值并不是我们想要的。使用Google Guava就能避免上述的情况发生:

  Splitter.on('|').split("foo|bar|baz").trimResults();

Splitter还可以使用正则表达式:

  Splitter splitter = Splitter.on("\\d+");

跟Joiner类一样,Splitter对象一旦构建,将会是不变的,所以要避免以下的代码:

  Splitter splitter = Splitter.on('|');
  //Next call returns a new instance, does not modify the original!
  splitter.trimResults();
  //Result would still contain empty elements
  Iterable<String> parts = splitter.split("1|2|3|||");

Splitter也能处理Map:

  //MapSplitter is defined as an inner class of Splitter
  Splitter.MapSplitter mapSplitter = Splitter.on("#").withKeyValueSeparator("=");

Splitter类的Map测试:

Splitter test method.png

输出结果为true。

guava之Joiner 和 Splitter

上一篇下一篇

猜你喜欢

热点阅读