本项目为Guava基础的使用案例,如您觉得该项目对您有用,欢迎点击右上方的Star按钮,给予支持!!
让使用Java语言变得更舒适
null是模棱两可的,会引起令人困惑的错误,有些时候它让人很不舒服。很多Guava工具类用快速失败拒绝null值,而不是盲目地接受
让方法中的条件检查更简单
简化Object方法实现,如hashCode()和toString()
排序器[Ordering]是Guava流畅风格比较器[Comparator]的实现,可以用来为构建复杂的比较器,以完成集合排序的功能
简化了异常和错误的传播与检查
Guava对JDK集合的扩展,这是Guava最成熟和为人所知的部分
用不变的集合进行防御性编程和性能提升
multisets, multimaps, tables, bidirectional maps等
提供java.util.Collections中没有的集合工具
让实现和扩展集合类变得更容易,比如创建Collection的装饰器,或实现迭代器
3. 缓存 [Caches]
Guava Cache:本地缓存实现,支持多种缓存过期策略
Guava Cache:本地缓存实现,支持多种缓存过期策略
强大而简单的抽象,让编写正确的并发代码更简单
非常有用的字符串工具,包括分割、连接、填充等操作
扩展 JDK 未提供的原生类型(如int、char)操作, 包括某些类型的无符号形式
8. 区间[Ranges]
可比较类型的区间API,包括连续和离散类型
9. I/O
简化I/O尤其是I/O流和文件的操作,针对Java5和6版本
10. 散列[Hash]
提供比Object.hashCode()更复杂的散列实现,并提供布鲁姆过滤器的实现
11. 事件总线[EventBus]
发布-订阅模式的组件通信,但组件不需要显式地注册到其他组件中
12. 数学运算[Math]
优化的、充分测试的数学工具类
13. 反射[Reflection]
优化的、充分测试的数学工具类