Guava 用于 Java 的 Google 核心库

发布于 2021-06-09 21:11:44 字数 4578 浏览 2194 评论 0

Guava 是一组来自 Google 的核心 Java 库,其中包括新的集合类型(例如 multimap 和 multiset)、不可变集合、图形库以及用于并发、I/O、散列、缓存、原语、字符串等的实用程序!它广泛用于 Google 内部的大多数 Java 项目,也被许多其他公司广泛使用。

Guava 有两种版本:

  • JRE 风格需要 JDK 1.8 或更高版本。
  • 如果您需要对 JDK 1.7 或 Android 的支持,请使用 Android 风格。您可以在 android目录中 找到 Android Guava 源代码。

将 Guava 添加到您的构建中

Guava 的 Maven 组 ID 是com.google.guava,其工件 ID 是guava。Guava 提供了两种不同的“风格”:一种用于(Java 8+)JRE,一种用于 Android 或 Java 7 或任何想要与其中任何一种兼容的库。这些风格在 Maven 版本字段中指定为30.1.1-jre30.1.1-android。有关依赖 Guava 的更多信息,请参阅 在构建中使用 Guava

要使用 Maven 添加对 Guava 的依赖,请使用以下命令:

<dependency>
  <groupId>com.google.guava</groupId>
  <artifactId>guava</artifactId>
  <version>30.1.1-jre</version>
  <!-- or, for Android: -->
  <version>30.1.1-android</version>
</dependency>

使用 Gradle 添加依赖项:

dependencies {
  // Pick one:

  // 1. Use Guava in your implementation only:
  implementation("com.google.guava:guava:30.1.1-jre")

  // 2. Use Guava types in your public API:
  api("com.google.guava:guava:30.1.1-jre")

  // 3. Android - Use Guava in your implementation only:
  implementation("com.google.guava:guava:30.1.1-android")

  // 4. Android - Use Guava types in your public API:
  api("com.google.guava:guava:30.1.1-android")
}

有关何时使用 api 以及何时使用的更多信息 implementation,请参阅 有关 API 和实现分离Gradle 文档

文档

master 分支构建的 Guava 快照可通过 Maven 使用 version HEAD-jre-SNAPSHOT 或 HEAD-android-SNAPSHOT Android 风格获得。

  • 快照 API 文档:Guava
  • 快照 API 差异:Guava

了解Guava

链接

重要警告

  1. @Beta 在类或方法级别用注解标记的 API可能会发生变化。它们可以随时以任何方式修改,甚至删除。如果您的代码本身就是一个库(即,它在您自己控制之外的用户的 CLASSPATH 上使用),则除非您 重新打包 它们,否则不应使用 beta API 。如果您的代码是库,我们强烈建议您使用 Guava Beta Checker 以确保您不使用任何 @Beta API!
  2. 没有的 API@Beta将在无限期的未来保持二进制兼容。(以前,我们有时会在弃用期后删除此类 API。删除非@BetaAPI的最后一个版本是 Guava 21.0。)即使 @DeprecatedAPI 也会保留(同样,除非它们是@Beta)。我们没有计划再次开始删除内容,但正式地,我们将保留我们的选项,以防万一(例如,严重的安全问题)。
  3. Guava 有一个在运行时链接所需的依赖项: com.google.guava:failureaccess:1.0.1。它还具有 一些仅注释依赖项,我们在该链接中更详细地讨论了这些 依赖项
  4. 除非另有说明,所有对象的序列化形式可能会发生变化。不要坚持这些,并假设它们可以被库的未来版本读取。
  5. 我们的类并非旨在防止恶意调用者。您不应将它们用于受信任和不受信任代码之间的通信。
  6. 对于主线风格,我们在 Linux 上仅使用 OpenJDK 8 和 OpenJDK 11 测试库。某些功能,尤其是 com.google.common.io 中的功能,在其他环境中可能无法正常工作。对于 Android 风格,我们的单元测试也在 API 级别 15(Ice Cream Sandwich)上运行。

gitee 地址:https://gitee.com/mirrors/guava

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84960 人气
更多

推荐作者

lorenzathorton8

文章 0 评论 0

Zero

文章 0 评论 0

萧瑟寒风

文章 0 评论 0

mylayout

文章 0 评论 0

tkewei

文章 0 评论 0

17818769742

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文