这个项目能做什么

Guava 是 Google 提供的一组核心 Java 库。它提供了诸如 multimap 和 multiset 等新集合类型、不可变集合、图形库,以及用于并发、I/O、哈希、基本类型、字符串等的实用工具,还有更多功能。根据 README,它在 Google 内部的大多数 Java 项目以及许多其他公司中被广泛使用。 Guava 有两种变体。JRE 变体需要 JDK 1.8 或更高版本。为了支持 Android,提供了 Android 变体,其源码位于仓库的 android 目录中。 将 Guava 添加到构建中:Maven 的 group ID 是 com.google.guava,artifact ID 是 guava。两种变体在 Maven 版本字段中分别指定为 33.7.1-jre 或 33.7.1-android。README 中提供了 Maven 和 Gradle 依赖片段,包括在 Gradle 中何时使用 api 与 implementation 的指南。 从 master 分支构建的快照可通过 Maven 使用版本 999.0.0-HEAD-jre-SNAPSHOT 获得,Android 变体则使用 999.0.0-HEAD-android-SNAPSHOT。快照的 API Javadoc 和 API 差异也可提供。Javadoc 可通过 guava.dev/api 访问,通过在其后追加类名可打开特定类的文档。 学习资源包括用户指南、《Guava Explained》以及其他有用链接的集合。项目还链接到其 GitHub 项目、问题追踪器、StackOverflow 标签以及 guava-announce 和 guava-discuss Google 群组。 README 列出了重要警告。使用 @Beta 注解标记的类或方法级别的 API 可能随时变更,甚至被修改或移除;库作者被建议除非重新打包这些 beta API,否则不要使用它们,并推荐使用 Guava Beta Checker。未标注 @Beta 的 API 被声明将在无限期内保持二进制兼容性,即使是 @Deprecated 的 API 也会保留,除非它们同时标注了 @Beta。Guava 在运行时仅有一个链接所需的依赖:com.google.guava:failureaccess:1.0.3,此外还有若干仅注解的依赖。所有对象的序列化形式除非另有说明,否则可能会变更,因此不应假设未来版本能够读取它们而进行持久化。这些类并未设计用于抵御恶意调用者,也不应在受信任代码与不受信任代码之间的通信中使用。对于主线变体,库在 Linux 和 Windows 上的一系列 OpenJDK 版本上进行了测试,且一些功能(尤其是 com.google.common.io 中的功能)在非 Linux 环境下可能无法正确工作。对于 Android 变体,单元测试也在 API 级别 24(Nougat)上运行。