Guava 用于 Java 的 Google 核心库
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-jre
或30.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 风格获得。
了解Guava
链接
- GitHub 项目
- 问题跟踪器:报告缺陷或功能请求
- StackOverflow:询问“操作方法”和“为什么不起作用”的问题
- guava-announce:发布和即将发生的重大变化的公告
- Guava 讨论:开放式问题和讨论
重要警告
@Beta
在类或方法级别用注解标记的 API可能会发生变化。它们可以随时以任何方式修改,甚至删除。如果您的代码本身就是一个库(即,它在您自己控制之外的用户的 CLASSPATH 上使用),则除非您 重新打包 它们,否则不应使用 beta API 。如果您的代码是库,我们强烈建议您使用 Guava Beta Checker 以确保您不使用任何@Beta
API!- 没有的 API
@Beta
将在无限期的未来保持二进制兼容。(以前,我们有时会在弃用期后删除此类 API。删除非@Beta
API的最后一个版本是 Guava 21.0。)即使@Deprecated
API 也会保留(同样,除非它们是@Beta
)。我们没有计划再次开始删除内容,但正式地,我们将保留我们的选项,以防万一(例如,严重的安全问题)。 - Guava 有一个在运行时链接所需的依赖项:
com.google.guava:failureaccess:1.0.1
。它还具有 一些仅注释依赖项,我们在该链接中更详细地讨论了这些 依赖项。 - 除非另有说明,所有对象的序列化形式可能会发生变化。不要坚持这些,并假设它们可以被库的未来版本读取。
- 我们的类并非旨在防止恶意调用者。您不应将它们用于受信任和不受信任代码之间的通信。
- 对于主线风格,我们在 Linux 上仅使用 OpenJDK 8 和 OpenJDK 11 测试库。某些功能,尤其是
com.google.common.io
中的功能,在其他环境中可能无法正常工作。对于 Android 风格,我们的单元测试也在 API 级别 15(Ice Cream Sandwich)上运行。
gitee 地址:https://gitee.com/mirrors/guava
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论