什么是 Guava,为什么需要它?
\n\nGuava 是 Google 开发的一个强大的开源库,为 Java 语言提供了一套高质量的实用工具。它的目的是让 Java 代码更简洁、更可靠、性能更高,解决开发者经常遇到的许多典型问题。
\n\n为什么需要 Guava?Java 标准库(JDK)提供了基本功能,但在便利性和安全性方面往往不尽如人意。Guava 填补了这些空白,提供了:
\n- \n
- 简化集合操作: 创建不可变集合、过滤、转换、分组——所有这些都变得简单得多。 \n
- 缓存: 一个强大且灵活的内存数据缓存框架。 \n
- 基本类型处理: 用于处理基本类型数组(int、long、double 等)的工具。 \n
- 字符串操作: 方便的字符串处理类,例如
Joiner和Splitter。 \n - 函数和谓词操作: 函数式编程风格(虽然不如 Java 8+ 那样简洁,但仍然有用)。 \n
- 前置条件检查(Preconditions): 优雅地替代手动检查 null 和其他条件。 \n
- 哈希处理: 用于创建哈希函数的工具。 \n
- 线程与并发: 用于多线程处理的工具,包括
ListenableFuture。 \n
如果您使用 Java 编程并希望提高代码质量和开发速度,Guava 是必备库。
\n\n安装 Guava
\n\nGuava 不通过 pip 或 npm 安装,因为它是 Java 库。它通过依赖管理系统(如 Maven 或 Gradle)分发。
\n\n通过 Maven 安装(pom.xml)
\n将以下代码添加到您的 pom.xml 文件的 <dependencies> 部分:
<dependency>\n <groupId>com.google.guava</groupId>\n <artifactId>guava</artifactId>\n <version>33.2.0-jre</version> <!-- 使用最新版本 -->\n</dependency>\n\n通过 Gradle 安装(build.gradle)
\n添加到 dependencies 部分:
implementation 'com.google.guava:guava:33.2.0-jre'\n\n手动安装(下载 JAR)
\n您也可以从 Guava 的 GitHub 发布页面 下载 JAR 文件,并将其添加到项目的 classpath 中。
\n\n重要提示: 版本 33.2.0-jre 适用于 Java 8 及以上版本。对于更旧版本的 Java,请使用 android 版本(例如 33.2.0-android)。
快速入门及代码示例
\n\n让我们编写一个简单的程序,演示 Guava 的几个关键功能。
\n\nimport com.google.common.base.Joiner;\nimport com.google.common.base.Splitter;\nimport com.google.common.collect.ImmutableList;\nimport com.google.common.collect.Lists;\n\nimport java.util.List;\n\npublic class GuavaQuickStart {\n public static void main(String[] args) {\n // 1. 创建不可变列表\n ImmutableList<String> names = ImmutableList.of("Alice", "Bob", "Charlie");\n System.out.println("名字: " + names); // [Alice, Bob, Charlie]\n\n // 2. 使用 Joiner 连接字符串\n String joined = Joiner.on(", ").join(names);\n System.out.println("连接后的名字: " + joined); // Alice, Bob, Charlie\n\n // 3. 使用 Splitter 分割字符串\n String csv = "apple,banana,,grape";\n Iterable<String> fruits = Splitter.on(",")\n .trimResults()\n