Guava
Guava是Google公司开源的一个实用工具库,对Java类库进行了多方面的增强。比如说,对函数式编程的支持,新的集合类(Multimap等),Cache支持,等等。在Java8之前,Guava和Java之间的关系,可以表示成下面这幅图:
但是随着Java8的发布,Guava和Java的关系发生了一些改变。Guava提供的很多功能,被内置在了Java8里,如下图所示:
本文举了几个例子,用代码来说明原先需要借助Guava来实现的功能,如何用Java7或Java8实现。
Joiner
Joiner用来拼接n个字符串,下面是一个例子:
@Test
public void joinerGuava() {
List<String> strList = Arrays.asList("one", "two", "three", null);
String csv = Joiner.on(",")
.skipNulls()
.join(strList);
assertEquals("one,two,three", csv);
}
在Java8里,我们可以借助Lambda表达式来做同样的事情: