Guava是一组核心库,包括新的集合类型(如多重映射和多集),不可变集合,图形库,功能类型,内存中缓存,和用于并发的API/实用程序,I/O,散列,基元,反射,字符串处理等等!
Guava有两种“口味”。
- 主要风味需要1.8或更高的JDK。
- 如果您需要JDK 1.7或Android的支持,请使用Android风格。 你可以在Android目录中找到Android Guava源码。
Google Java核心库。(Google Core Libraries for Java. )
Guava是一组核心库,包括新的集合类型(如多重映射和多集),不可变集合,图形库,功能类型,内存中缓存,和用于并发的API/实用程序,I/O,散列,基元,反射,字符串处理等等!
名稱與所有者 | google/guava |
---|---|
主編程語言 | Java |
編程語言 | Java (語言數: 4) |
平台 | |
許可證 | Apache License 2.0 |
創建於 | 2014-05-29 16:23:17 |
---|---|
推送於 | 2025-04-15 22:37:47 |
最后一次提交 | 2025-04-15 15:10:00 |
發布數 | 119 |
最新版本名稱 | v33.4.8 (發布於 ) |
第一版名稱 | v2.0 (發布於 ) |
星數 | 50.7k |
---|---|
關注者數 | 2.4k |
派生數 | 11k |
提交數 | 6.9k |
已啟用問題? | |
問題數 | 3608 |
打開的問題數 | 631 |
拉請求數 | 895 |
打開的拉請求數 | 83 |
關閉的拉請求數 | 1788 |
已啟用Wiki? | |
---|---|
已存檔? | |
是復刻? | |
已鎖定? | |
是鏡像? | |
是私有? |
Guava is a set of core libraries that includes new collection types (such as
multimap and multiset), immutable collections, a graph library, and utilities
for concurrency, I/O, hashing, primitives, strings, and more!
Guava comes in two flavors.
android
directory.Guava's Maven group ID is com.google.guava
and its artifact ID is guava
.
Guava provides two different "flavors": one for use on a (Java 8+) JRE and one
for use on Android or Java 7 or by any library that wants to be compatible with
either of those. These flavors are specified in the Maven version field as
either 28.2-jre
or 28.2-android
. For more about depending on Guava, see
using Guava in your build.
To add a dependency on Guava using Maven, use the following:
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>28.2-jre</version>
<!-- or, for Android: -->
<version>28.2-android</version>
</dependency>
To add a dependency using Gradle:
dependencies {
// Pick one:
// 1. Use Guava in your implementation only:
implementation("com.google.guava:guava:28.2-jre")
// 2. Use Guava types in your public API:
api("com.google.guava:guava:28.2-jre")
// 3. Android - Use Guava in your implementation only:
implementation("com.google.guava:guava:28.2-android")
// 4. Android - Use Guava types in your public API:
api("com.google.guava:guava:28.2-android")
}
For more information on when to use api
and when to use implementation
,
consult the
Gradle documentation on API and implementation separation.
Snapshots of Guava built from the master
branch are available through Maven
using version HEAD-jre-SNAPSHOT
, or HEAD-android-SNAPSHOT
for the Android
flavor.
APIs marked with the @Beta
annotation at the class or method level are
subject to change. They can be modified in any way, or even removed, at any
time. If your code is a library itself (i.e. it is used on the CLASSPATH of
users outside your own control), you should not use beta APIs, unless you
repackage them. If your code is a library, we strongly recommend using
the Guava Beta Checker to ensure that you do not use any @Beta
APIs!
APIs without @Beta
will remain binary-compatible for the indefinite
future. (Previously, we sometimes removed such APIs after a deprecation
period. The last release to remove non-@Beta
APIs was Guava 21.0.) Even
@Deprecated
APIs will remain (again, unless they are @Beta
). We have no
plans to start removing things again, but officially, we're leaving our
options open in case of surprises (like, say, a serious security problem).
Guava has one dependency that is needed at runtime:
com.google.guava:failureaccess:1.0.1
Serialized forms of ALL objects are subject to change unless noted
otherwise. Do not persist these and assume they can be read by a future
version of the library.
Our classes are not designed to protect against a malicious caller. You
should not use them for communication between trusted and untrusted code.
For the mainline flavor, we unit-test the libraries using only OpenJDK 1.8
on Linux. Some features, especially in com.google.common.io
, may not work
correctly in other environments. For the Android flavor, our unit tests run
on API level 15 (Ice Cream Sandwich).