guava - Java 用 Google コア ライブラリ

(Google core libraries for Java)

Created at: 2014-05-30 00:23:17
Language: Java
License: Apache-2.0

Guava: Java 用の Google コア ライブラリ

最新のリリース ビルド ステータス

Guava は Google のコア Java ライブラリのセットであり、新しいコレクション タイプ (multimap や multiset など)、不変コレクション、グラフ ライブラリ、同時実行、I/O、ハッシュ、キャッシュ、プリミティブ、文字列などのユーティリティが含まれています。Google 内のほとんどの Java プロジェクトで広く使用されており、他の多くの企業でも広く使用されています。

グアバには 2 つのフレーバーがあります。

  • JRE フレーバーには、JDK 1.8 以降が必要です。
  • Android のサポートが必要な場合は、Android フレーバーを使用してください。Android Guava のソースは
    android
    ディレクトリ
    にあります。

ビルドに Guava を追加する

Guava の Maven グループ ID は

com.google.guava
で、アーティファクト ID は
guava
です。Guava は 2 つの異なる「フレーバー」を提供します。1 つは (Java 8+) JRE で使用するためのもので、もう 1 つは Android または Android との互換性を必要とする任意のライブラリで使用するためのものです。これらのフレーバーは、Maven バージョン フィールドで
31.1-jre
または として指定されます
31.1-android
。Guava への依存の詳細について は、ビルドで Guava を使用する を参照してください。

Maven を使用して Guava への依存関係を追加するには、以下を使用します。

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

Gradle を使用して依存関係を追加するには:

dependencies {
  // Pick one:

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

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

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

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

api
いつ使用するか、いつ使用するかの詳細については、API と実装の分離に関する Gradle ドキュメントを
implementation
参照してください 。

スナップショットとドキュメント

ブランチから構築された Guava のスナップショットは、

master
バージョンを使用して Maven を介して
HEAD-jre-SNAPSHOT
、または
HEAD-android-SNAPSHOT
Android フレーバーで利用できます。

  • スナップショット API ドキュメント:グアバ
  • スナップショット API 差分:グアバ

グアバについて学ぶ

リンク

重要な警告

  1. @Beta
    クラスまたはメソッド レベルで注釈が付けられた API は、変更される可能性があります。これらは、いつでも変更したり、削除したりすることができます。コードがライブラリ自体である場合 (つまり、自分の管理下にないユーザーの CLASSPATH で使用されている場合)、ベータ API を 再パッケージ化しない限り、使用しないでください。コードがライブラリの場合は、Guava Beta Checker
    @Beta
    を使用して、 APIを使用しないことを確認することを強くお勧めします!

  2. ない API

    @Beta
    は、無期限にバイナリ互換性を維持します。(以前は、非推奨期間の後にそのような API を削除することがありました。非
    @Beta
    API を削除する最後のリリースは Guava 21.0 でした。)
    @Deprecated
    API でさえ (そうでない限り
    @Beta
    ) 残ります。再び削除を開始する予定はありませんが、公式には、予期せぬ事態 (深刻なセキュリティ問題など) が発生した場合に備えて、選択肢を残しています。

  3. Guava には、実行時のリンケージに必要な依存関係が 1 つあります

    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) でも実行されます。