Guava中包含了Google的一些核心类库:比如集合,缓存,并发包,常用注解,字符串处理,I/O等等。这些工具类被谷歌的工程师们经常用到。
但是通过查阅文档不是一个有效的学习类库的方式。这儿, 我们尝试提供一写方便查阅的比较常用的Guava工具类。
基础工具: 更加舒适的使用java。
Using and avoiding null: null 可不能被含糊, 能引起一些莫名的错误。许多Guava工具拒绝null并且会快速失败,而不是盲目的接受null。
Preconditions: 非常容易的为你的方法做个先决测试。
Common object methods: 简单的实现Object方法,像 hashCode() and toString().
Ordering: Guava强大的比较类。
Throwables: 简化传播,检查异常和错误。
Collections: Guava对JDK集合的扩展。Guava中用的比较多的地方。
Immutable collections, 防御性编程,常量集合,提高效率。
New collection types, 一些JDK Collections中没有解决的: multisets, multimaps, tables, 双向maps等。
Powerful collection utilities, 一些 java.util.Collections中没有的工具。
Extension utilities: 写一个集合的装配? 实现一个Iterator? 我们能容易的实现他们。
Caches: 本地缓存,使用得当,并支持过期行为。
Functional idioms: 谨慎使用, Guava的Functional idioms可以显著简化代码。
Concurrency: 功能强大,操作简单的抽象,使之更容易编写正确的并发代码。
ListenableFuture: Futures回调。
Service: 事情的启动和关闭,为你更好的处理有难度的逻辑。
Strings: 很多出色的string处理: splitting, joining, padding等.
Primitives: 操作基本类型像int and char, 以及idk没有提供的,包含一些无符号变量类型。
Ranges: 提供强大处理范围比较,连续和离散范围的API。
I/O: 简单的IO操作, 尤其在java1.5,1.6整个IO流和文件
Hashing: 提供比Object.hashCode(), including Bloom filters更精准的hash。
EventBus: 发布 - 订阅式组件之间的通信,而不需要的组件相互直接注册。
Math: 优化,全面测试过的JDK没有提供数学的工具。
Reflection: 为java的反射。
----------------------
粗略翻译,敬请谅解。
对应英文地址:https://code.google.com/p/guava-libraries/wiki/GuavaExplained
来源:oschina
链接:https://my.oschina.net/u/723271/blog/512434