Guava从入坑到出坑

Guava简介

Guava是google公司开源的Java工具包,主要包含集合 [collections] 、缓存 [caching] 、原生类型扩展[primitives support] 、并发库 [concurrency libraries] 、字符串处理 [string processing] 、I/O 等。

讲在前面

在正式开始之前,我们先来了解两个比较重要的接口Function和Predicates.

Fuction

Function可以说是Guava中函数式编程的核心,其代码如下:

1
2
3
4
5
6
7
8
9
@GwtCompatible
public interface Function<F, T> {

@Nullable
T apply(@Nullable F input);

@Override
boolean equals(@Nullable Object object);
}

可以看到这个接口是一个泛型接口,分别给出了F和T两个泛型约束,F可以理解成为From也就是函数式的输入,T可以理解为To也就是函数式的输入,其核心方法apply就是表示从From到To的一个转换。
关于函数式编程可以看下这两篇blog。函数式编程初探 函数式编程

函数式编程的优点:

  • 逃逸分析
  • 不会修改外部数据

Fuctions

Predicate

Predicates

Supplier

Suppliers

集合

基本类型

缓存

IO

并发

其他