Guava-quick-guide
グアバ-概要
グアバとは何ですか?
GuavaはオープンソースのJavaベースのライブラリであり、Googleの多くのコアライブラリが含まれており、それらのプロジェクトの多くで使用されています。 コーディングのベストプラクティスを促進し、コーディングエラーの削減に役立ちます。 コレクション、キャッシュ、プリミティブサポート、同時実行性、一般的な注釈、文字列処理、I/O、および検証のためのユーティリティメソッドを提供します。
グアバの利点
- Standardized -GuavaライブラリはGoogleによって管理されています。
- 効率的-Java標準ライブラリの信頼性が高く、高速で効率的な拡張機能です。
- 最適化-ライブラリは高度に最適化されています。
- 関数型プログラミング-Javaに関数型処理機能を追加します。
- ユーティリティ-アプリケーション開発のプログラミングに定期的に必要とされる多くのユーティリティクラスを提供します。
- 検証-標準のフェイルセーフ検証メカニズムを提供します。
- ベストプラクティス-ベストプラクティスを強調しています。
次のコードスニペットを考えてください。
プログラムを実行して、次の結果を取得します。
以下はコードの問題です。
- sum()は、nullとして渡されるパラメーターを処理しません。
- 呼び出し元の関数は、nullを誤ってsum()メソッドに渡すことも心配していません。
- プログラムを実行すると、NullPointerExceptionが発生します。
上記の問題を回避するために、そのような問題が存在するすべての場所でヌルチェックを行う必要があります。
上記の問題を標準化された方法で解決するために、Guavaが提供するユーティリティクラスであるOptionalの使用を見てみましょう。
プログラムを実行して、次の結果を取得します。
上記のプログラムの重要な概念を理解しましょう。
- オプション-コードがnullを適切に使用するためのユーティリティクラス。
- Optional.of -パラメータとして使用されるOptionalクラスのインスタンスを返します。 「null」ではなく、渡された値をチェックします。
- Optional.get -Optionalクラスに保存されている入力の値を取得します。
Optionalクラスを使用すると、呼び出し元のメソッドが適切なパラメーターを渡しているかどうかを確認できます。
グアバ-環境設定
ローカル環境のセットアップ
Javaプログラミング言語用に環境をセットアップする場合は、このセクションで、マシンにJavaをダウンロードしてセットアップする方法を説明します。 環境をセットアップするには、以下の手順に従ってください。
Java SEは、https://java.sun.com/javase/downloads/index_jdk5.jsp [Javaのダウンロード]リンクから無料で入手できます。 そのため、オペレーティングシステムに基づいてバージョンをダウンロードします。
指示に従ってJavaをダウンロードし、*。exe *を実行して、マシンにJavaをインストールします。 マシンにJavaをインストールしたら、正しいインストールディレクトリを指すように環境変数を設定する必要があります-
Windows 2000/XPのパスのセットアップ
_c:\ Program Files \ java \ jdk_ディレクトリにJavaがインストールされていると想定しています-
- 「マイコンピュータ」を右クリックして、「プロパティ」を選択します。
- 「詳細」タブの下の「環境変数」ボタンをクリックします。
- ここで、「Path」変数を変更して、Java実行可能ファイルへのパスも含まれるようにします。 たとえば、パスが現在「C:\ WINDOWS \ SYSTEM32」に設定されている場合、パスを「C:\ WINDOWS \ SYSTEM32; c:\ Program Files \ java \ jdk \ bin」に変更します。
Windows 95/98/MEのパスのセットアップ
_c:\ Program Files \ java \ jdk_ディレクトリにJavaがインストールされていると想定しています-
- 「C:\ autoexec.bat」ファイルを編集し、最後に次の行を追加します-「SET PATH =%PATH%; C:\ Program Files \ java \ jdk \ bin」
Linux、UNIX、Solaris、FreeBSDのパスのセットアップ
環境変数PATHは、Javaバイナリがインストールされている場所を指すように設定する必要があります。 これがうまくいかない場合は、シェルのドキュメントを参照してください。
たとえば、bashをシェルとして使用する場合は、 '。bashrcの最後に次の行を追加します:export PATH =/path/to/java:$ PATH'
人気のあるJavaエディター
Javaプログラムを作成するには、テキストエディターが必要です。 市場には多くの洗練されたIDEがあります。 しかし、今のところ、次のいずれかを検討することができます-
- メモ帳-Windowsマシンでは、メモ帳(このチュートリアルで推奨)、TextPadなどの単純なテキストエディタを使用できます。
- Netbeans -これは、オープンソースで無料のJava IDEであり、https://www.netbeans.org/indexlからダウンロードできます。
- Eclipse -また、eclipseオープンソースコミュニティによって開発されたJava IDEであり、https://www.eclipse.org/からダウンロードできます。
グアバアーカイブのダウンロード
guava-18.0.jarからGuava jarファイルの最新バージョンをダウンロードします。 このチュートリアルを書いている時点で、_guava-18.0.jar_をダウンロードし、C:\> Guavaフォルダーにコピーしました。
OS | Archive name |
---|---|
Windows | guava-18.0.jar |
Linux | guava-18.0.jar |
Mac | guava-18.0.jar |
グアバ環境の設定
OS | Output |
---|---|
Windows | Set the environment variable Guava_HOME to C:\Guava |
Linux | export Guava_HOME=/usr/local/Guava |
Mac | export Guava_HOME=/Library/Guava |
CLASSPATH変数を設定する
Guava jarの場所を指すように CLASSPATH 環境変数を設定します。 次のように、さまざまなオペレーティングシステムのGuavaフォルダーにguava-18.0.jarを保存したと仮定します。
OS | Output |
---|---|
Windows | Set the environment variable CLASSPATH to %CLASSPATH%;%Guava_HOME%\guava-18.0.jar;.; |
Linux | export CLASSPATH=$CLASSPATH:$Guava_HOME/guava-18.0.jar:. |
Mac | export CLASSPATH=$CLASSPATH:$Guava_HOME/guava-18.0.jar:. |
グアバ-オプションクラス
オプションは、null以外のオブジェクトを含むために使用される不変オブジェクトです。 オプションのオブジェクトは、値が存在しない場合にnullを表すために使用されます。 このクラスには、null値をチェックする代わりに、値を使用可能または使用不可として処理するコードを容易にするさまざまなユーティリティメソッドがあります。
クラス宣言
以下は com.google.common.base.Optional <T> クラスの宣言です-
クラスメソッド
Sr.No | Method & Description |
---|---|
1 |
static <T> Optional<T> absent() 含まれる参照のないOptionalインスタンスを返します。 |
2 |
abstract Set<T> asSet() 含まれるインスタンスが存在する場合、含まれるインスタンスのみを要素とする不変のシングルトンSetを返します。それ以外の場合は、空の不変のSet。 |
3 |
abstract boolean equals(Object object) オブジェクトがOptionalインスタンスであり、含まれる参照が互いに等しいか、両方が存在しない場合にtrueを返します。 |
4 |
static <T> Optional<T> fromNullable(T nullableReference) nullableReferenceがnull以外の場合、その参照を含むOptionalインスタンスを返します。それ以外の場合は、absent()を返します。 |
5 |
abstract T get() 含まれているインスタンスを返します。これは存在する必要があります。 |
6 |
abstract int hashCode() このインスタンスのハッシュコードを返します。 |
7 |
abstract boolean isPresent() このホルダーに(null以外の)インスタンスが含まれている場合、trueを返します。 |
8 |
static <T> Optional<T> of(T reference) 指定されたnull以外の参照を含むOptionalインスタンスを返します。 |
9 |
abstract Optional<T> or(Optional<? extends T> secondChoice) 値が存在する場合、このOptionalを返します。それ以外の場合はsecondChoice。 |
10 |
abstract T or(Supplier<? extends T> supplier) 含まれているインスタンスが存在する場合はそれを返します。それ以外の場合は、supplier.get()。 |
11 |
abstract T or(T defaultValue) 含まれているインスタンスが存在する場合はそれを返します。それ以外の場合はdefaultValue。 |
12 |
abstract T orNull() 含まれているインスタンスが存在する場合はそれを返します。それ以外の場合はnull。 |
13 |
static <T> Iterable<T> presentInstances(Iterable<? extends Optional<? extends T>> optionals) absent()の出現をスキップして、指定されたオプションから現在の各インスタンスの値を順番に返します。 |
14 |
abstract String toString() このインスタンスの文字列表現を返します。 |
15 |
abstract <V> Optional<V> transform(Function<? super T,V> function) インスタンスが存在する場合、指定された関数で変換されます。それ以外の場合、absent()が返されます。 |
継承されるメソッド
このクラスは、次のクラスからメソッドを継承します-
- java.lang.Object
オプションのクラスの例
たとえば、* C:/> Guava。*で選択したエディターを使用して、次のJavaプログラムを作成します。
GuavaTester.java
結果を確認する
次のように javac コンパイラを使用してクラスをコンパイルします-
GuavaTesterを実行して結果を確認します。
結果をご覧ください。
グアバ-前提条件クラス
前提条件は、メソッドまたはコンストラクターが適切なパラメーターで呼び出されるかどうかをチェックする静的メソッドを提供します。 前提条件をチェックします。 そのメソッドは、失敗するとIllegalArgumentExceptionをスローします。
クラス宣言
以下は com.google.common.base.Preconditions クラスの宣言です-
クラスメソッド
Sr.No | Method & Description |
---|---|
1 |
static void checkArgument(boolean expression) 呼び出しメソッドへの1つまたは複数のパラメーターを含む式の真実性を保証します。 |
2 |
static void checkArgument(boolean expression, Object errorMessage) 呼び出しメソッドへの1つまたは複数のパラメーターを含む式の真実性を保証します。 |
3 |
static void checkArgument(boolean expression, String errorMessageTemplate, Object. errorMessageArgs) 呼び出しメソッドへの1つまたは複数のパラメーターを含む式の真実性を保証します。 |
4 |
static int checkElementIndex(int index, int size) インデックスが配列、リスト、またはサイズの文字列内の有効な要素を指定していることを確認します。 |
5 |
static int checkElementIndex(int index, int size, String desc) インデックスが、配列、リスト、またはサイズの文字列の有効な要素を指定していることを確認します。 |
6 |
static <T> T checkNotNull(T reference) 呼び出しメソッドにパラメーターとして渡されるオブジェクト参照がnullでないことを確認します。 |
7 |
static <T> T checkNotNull(T reference, Object errorMessage) 呼び出しメソッドにパラメーターとして渡されるオブジェクト参照がnullでないことを確認します。 |
8 |
static <T> T checkNotNull(T reference, String errorMessageTemplate, Object… errorMessageArgs) 呼び出しメソッドにパラメーターとして渡されるオブジェクト参照がnullでないことを確認します。 |
9 |
static int checkPositionIndex(int index, int size) インデックスが配列、リスト、またはサイズの文字列内の有効な位置を指定するようにします。 |
10 |
static int checkPositionIndex(int index, int size, String desc) インデックスが配列、リスト、またはサイズの文字列内の有効な位置を指定するようにします。 |
11 |
static void checkPositionIndexes(int start, int end, int size) 開始、終了が配列、リスト、またはサイズの文字列内の有効な位置を指定し、順序どおりであることを確認します。 |
12 |
static void checkState(boolean expression) 呼び出し元インスタンスの状態を含む式の真理を保証しますが、呼び出し元メソッドへのパラメーターは含みません。 |
13 |
static void checkState(boolean expression, Object errorMessage) 呼び出し元インスタンスの状態を含む式の真理を保証しますが、呼び出し元メソッドへのパラメーターは含みません。 |
14 |
static void checkState(boolean expression, String errorMessageTemplate, Object… errorMessageArgs) 呼び出し元インスタンスの状態を含む式の真理を保証しますが、呼び出し元メソッドへのパラメーターは含みません。 |
継承されるメソッド
このクラスは、次のクラスからメソッドを継承します-
- java.lang.Object
前提条件クラスの例
たとえば、* C:/> Guava。*で選択したエディターを使用して、次のJavaプログラムを作成します。
GuavaTester.java
結果を確認する
次のように javac コンパイラを使用してクラスをコンパイルします-
GuavaTesterを実行して結果を確認します。
結果をご覧ください。
グアバ-注文クラス
順序付けは、強化された連鎖機能、複数のユーティリティメソッド、複数の種類の並べ替え機能などを備えた充実したコンパレータと見なすことができます。
クラス宣言
以下は com.google.common.collect.Ordering <T> クラスの宣言です-
クラスメソッド
Sr.No | Method & Description |
---|---|
1 |
static Ordering<Object> allEqual() すべての値を等しいものとして扱う順序を返し、「順序なし」を示します。この順序付けを安定したソートアルゴリズムに渡すと、要素の順序は変更されません。 |
2 |
static Ordering<Object> arbitrary() compare(a、b)== 0がa == b(恒等式)を意味する、すべてのオブジェクトの任意の順序を返します。 |
3 |
int binarySearch(List<? extends T> sortedList, T key) バイナリ検索アルゴリズムを使用してキーのsortedListを検索します。 |
4 |
abstract int compare(T left, T right) 2つの引数の順序を比較します。 |
5 |
<U extends T> Ordering<U> compound(Comparator<? super U> secondaryComparator) 最初にthisの順序付けを使用する順序付けを返しますが、「tie」の場合はsecondaryComparatorに委任します。 |
6 |
static <T> Ordering<T> compound(Iterable<? extends Comparator<? super T>> comparators) ゼロ以外の結果が見つかるまで、指定された各コンパレータを順番に試行し、その結果を返し、すべてのコンパレータがゼロを返す場合にのみゼロを返す順序を返します。 |
7 |
static <T> Ordering<T> explicit(List<T> valuesInOrder) 指定されたリストに表示される順序に従ってオブジェクトを比較する順序を返します。 |
8 |
static <T> Ordering<T> explicit(T leastValue, T… remainingValuesInOrder) このメソッドに与えられた順序に従ってオブジェクトを比較する順序を返します。 |
9 |
static <T> Ordering<T> from(Comparator<T> comparator) 既存のコンパレータインスタンスに基づいて順序付けを返します。 |
10 |
<E extends T> List<E> greatestOf(Iterable<E> iterable, int k) この順序付けに従って、指定された反復可能オブジェクトのk個の最大要素を、最大から最小の順に返します。 |
11 |
<E extends T> List<E> greatestOf(Iterator<E> iterator, int k) この順序に従って、指定された反復子からk個の最大要素を最大から最小の順に返します。 |
12 |
<E extends T> ImmutableList<E> immutableSortedCopy(Iterable<E> elements) この順序でソートされた要素を含む不変のリストを返します。 |
13 |
boolean isOrdered(Iterable<? extends T> iterable) この順序に従って、最初の要素の後のiterableの各要素が前の要素以上である場合、trueを返します。 |
14 |
boolean isStrictlyOrdered(Iterable<? extends T> iterable) この順序に従って、最初の要素の後のiterableの各要素がその前の要素よりも厳密に大きい場合、trueを返します。 |
15 |
<E extends T> List<E> leastOf(Iterable<E> iterable, int k) この順序に従って、指定された反復可能オブジェクトのk個の最小要素を、最小から最大の順に返します。 |
16 |
<E extends T> List<E> leastOf(Iterator<E> elements, int k) この順序付けに従って、指定された反復子からk最小要素を最小から最大の順に返します。 |
17 |
<S extends T> Ordering<Iterable<S>> lexicographical() ゼロ以外の結果が見つかるまで対応する要素をペアで比較することにより、イテラブルをソートする新しい順序を返します。 「辞書の順序」を課します。 |
18 |
<E extends T> E max(E a, E b) この順序に従って、2つの値のうち大きい方を返します。 |
19 |
<E extends T> E max(E a, E b, E c, E… rest) この順序に従って、指定された値の最大値を返します。 |
20 |
<E extends T> E max(Iterable<E> iterable) この順序に従って、指定された値の最大値を返します。 |
21 |
<E extends T> E max(Iterator<E> iterator) この順序に従って、指定された値の最大値を返します。 |
22 |
<E extends T> E min(E a, E b) この順序に従って、2つの値のうち小さい方を返します。 |
23 |
<E extends T> E min(E a, E b, E c, E… rest) この順序に従って、指定された値の最小値を返します。 |
24 |
<E extends T> E min(Iterable<E> iterable) この順序に従って、指定された値の最小値を返します。 |
25 |
<E extends T> E min(Iterator<E> iterator) この順序に従って、指定された値の最小値を返します。 |
26 |
static <C extends Comparable> Ordering<C> natural() 値の自然順序を使用する直列化可能な順序を返します。 |
27 |
<S extends T> Ordering<S> nullsFirst() nullを他のすべての値よりも小さいものとして扱う順序を返し、これを使用してnull以外の値を比較します。 |
28 |
<S extends T> Ordering<S> nullsLast() nullを他のすべての値よりも大きいものとして扱う順序を返し、この順序を使用してnull以外の値を比較します。 |
29 |
<F> Ordering<F> onResultOf(Function<F,? extends T> function) 最初に関数を適用し、これを使用してそれらの結果を比較することによって要素を順序付けるFの新しい順序を返します。 |
30 |
<S extends T> Ordering<S> reverse() この順序の逆を返します。 Collections.reverseOrder(Comparator)と同等の順序。 |
31 |
<E extends T> List<E> sortedCopy(Iterable<E> elements) この順序でソートされた要素を含む可変リストを返します。結果のリストをさらに変更する必要がある場合、またはnullを含む場合にのみ、これを使用します。 |
32 |
static Ordering<Object> usingToString() toString()によって返される文字列表現の自然な順序でオブジェクトを比較する順序を返します。 |
継承されるメソッド
このクラスは、次のクラスからメソッドを継承します-
- java.lang.Object
注文クラスの例
たとえば、* C:/> Guava。*で選択したエディターを使用して、次のJavaプログラムを作成します。
GuavaTester.java
結果を確認する
次のように javac コンパイラを使用してクラスをコンパイルします-
GuavaTesterを実行して結果を確認します。
結果をご覧ください。
グアバ-オブジェクトクラス
オブジェクトクラスは、equals、hashCodeなど、すべてのオブジェクトに適用可能なヘルパー関数を提供します。
クラス宣言
以下は com.google.common.base.Objects クラスの宣言です-
クラスメソッド
Sr.No | Method & Description |
---|---|
1 |
static boolean equal(Object a, Object b) nullの可能性がある2つのオブジェクトが等しいかどうかを判断します。 |
2 |
static <T> T firstNonNull(T first, T second) 廃止予定です。 代わりにMoreObjects.firstNonNull(T、T)を使用してください。 この方法は、2016年6月に削除される予定です。 |
3 |
static int hashCode(Object… objects) 複数の値のハッシュコードを生成します。 |
4 |
static Objects.ToStringHelper toStringHelper(Class<?> clazz) 廃止予定です。 代わりにMoreObjects.toStringHelper(Class)を使用してください。 この方法は、2016年6月に削除される予定です。 |
5 |
static Objects.ToStringHelper toStringHelper(Object self) 廃止予定です。 代わりにMoreObjects.toStringHelper(Object)を使用してください。 この方法は、2016年6月に削除される予定です。 |
6 |
static Objects.ToStringHelper toStringHelper(String className) 廃止予定です。 代わりにMoreObjects.toStringHelper(String)を使用してください。 この方法は、2016年6月に削除される予定です。 |
継承されるメソッド
このクラスは、次のクラスからメソッドを継承します-
- java.lang.Object
オブジェクトクラスの例
たとえば、* C:/> Guava。*で選択したエディターを使用して、次のJavaプログラムを作成します。
GuavaTester.java
結果を確認する
次のように javac コンパイラを使用してクラスをコンパイルします-
GuavaTesterを実行して結果を確認します。
結果をご覧ください。
グアバ-範囲クラス
範囲は、間隔またはシーケンスを表します。 特定の範囲にある数字/文字列のセットを取得するために使用されます。
クラス宣言
以下は com.google.common.collect.Range <C> クラスの宣言です-
方法
Sr.No | Method & Description |
---|---|
1 |
static <C extends Comparable<?>> Range<C> all() タイプCのすべての値を含む範囲を返します。 |
2 |
boolean apply(C input)Deprecated. Predicateインターフェースを満たすためにのみ提供されます。代わりにcontains(C)を使用してください。 |
3 |
static <C extends Comparable<?>> Range<C> atLeast(C endpoint) エンドポイント以上のすべての値を含む範囲を返します。 |
4 |
static <C extends Comparable<?>> Range<C> atMost(C endpoint) エンドポイント以下のすべての値を含む範囲を返します。 |
5 |
Range<C> canonical(DiscreteDomain<C> domain) 指定されたドメイン内のこの範囲の正規形を返します。 |
6 |
static <C extends Comparable<?>> Range<C> closed(C lower, C upper) lower以上、upper以下のすべての値を含む範囲を返します。 |
7 |
static <C extends Comparable<?>> Range<C> closedOpen(C lower, C upper) lower以上、厳密にupper未満のすべての値を含む範囲を返します。 |
8 |
boolean contains(C value) 値がこの範囲の境界内にある場合、trueを返します。 |
9 |
boolean containsAll(Iterable<? extends C> values) 値のすべての要素がこの範囲に含まれる場合、trueを返します。 |
10 |
static <C extends Comparable<?>> Range<C> downTo(C endpoint, BoundType boundType) 指定されたエンドポイントから範囲を返します。これは、上限なしで包括的(クローズ)または排他的(オープン)のいずれかです。 |
11 |
static <C extends Comparable<?>> Range<C> encloseAll(Iterable<C> values) 指定されたすべての値を含む最小範囲を返します。 |
12 |
boolean encloses(Range<C> other) 他の境界がこの範囲の境界の外側に拡張されていない場合、trueを返します。 |
13 |
boolean equals(Object object) オブジェクトがこの範囲と同じエンドポイントとバインドされたタイプを持つ範囲である場合、trueを返します。 |
14 |
static <C extends Comparable<?>> Range<C> greaterThan(C endpoint) エンドポイントよりも厳密に大きいすべての値を含む範囲を返します。 |
15 |
int hashCode() この範囲のハッシュコードを返します。 |
16 |
boolean hasLowerBound() この範囲の終点が低い場合、trueを返します。 |
17 |
boolean hasUpperBound() この範囲に上限がある場合、trueを返します。 |
18 |
Range<C> intersection(Range<C> connectedRange) そのような範囲が存在する場合、この範囲とconnectedRangeの両方で囲まれた最大範囲を返します。 |
19 |
boolean isConnected(Range<C> other) この範囲と他の範囲の両方で囲まれた(おそらく空の)範囲が存在する場合、trueを返します。 |
20 |
boolean isEmpty() この範囲の形式が[v..v)または(v..v]の場合、trueを返します。 |
21 |
static <C extends Comparable<?>> Range<C> lessThan(C endpoint) エンドポイントよりも厳密に小さい値をすべて含む範囲を返します。 |
22 |
BoundType lowerBoundType() この範囲の下限のタイプを返します。範囲に下限が含まれる場合はBoundType.CLOSED、含まれない場合はBoundType.OPENです。 |
23 |
C lowerEndpoint() この範囲の下端を返します。 |
24 |
static <C extends Comparable<?>> Range<C> open(C lower, C upper) 厳密にlowerより大きく、厳密にupperより小さいすべての値を含む範囲を返します。 |
25 |
static <C extends Comparable<?>> Range<C> openClosed(C lower, C upper) 厳密にlowerより大きく、upper以下のすべての値を含む範囲を返します。 |
26 |
static <C extends Comparable<?>> Range<C> range(C lower, BoundType lowerType, C upper, BoundType upperType) 下限から上限までの任意の値を含む範囲を返します。各エンドポイントは、包括的(クローズ)または排他的(オープン)のいずれかです。 |
27 |
static <C extends Comparable<?>> Range<C> singleton(C value) 指定された値のみを含む範囲を返します。 |
28 |
Range<C> span(Range<C> other) この範囲と他の範囲の両方を囲む最小範囲を返します。 |
29 |
String toString() 「[3..5)」など、この範囲の文字列表現を返します(他の例はクラスのドキュメントにリストされています)。 |
30 |
BoundType upperBoundType() この範囲の上限のタイプを返します。範囲に上限が含まれる場合はBoundType.CLOSED、含まれない場合はBoundType.OPENです。 |
31 |
C upperEndpoint() この範囲の上端点を返します。 |
32 |
static <C extends Comparable<?>> Range<C> upTo(C endpoint, BoundType boundType) 指定されたエンドポイントまでの下限のない範囲を返します。これは、包括的(クローズ)または排他的(オープン)のいずれかです。 |
継承されるメソッド
このクラスは、次のクラスからメソッドを継承します-
- java.lang.Object
範囲クラスの例
たとえば、* C:/> Guava。*で選択したエディターを使用して、次のJavaプログラムを作成します。
GuavaTester.java
結果を確認する
次のように javac コンパイラを使用してクラスをコンパイルします-
GuavaTesterを実行して結果を確認します。
結果をご覧ください。
グアバ-投げ物クラス
Throwablesクラスは、Throwableインターフェイスに関連するユーティリティメソッドを提供します。
クラス宣言
以下は com.google.common.base.Throwables クラスの宣言です-
クラスメソッド
Sr.No | Method & Description |
---|---|
1 |
static List<Throwable> getCausalChain(Throwable throwable) スロー可能な原因チェーンをリストとして取得します。 |
2 |
static Throwable getRootCause(Throwable throwable) throwableの最も内側の原因を返します。 |
3 |
static String getStackTraceAsString(Throwable throwable) toString()の結果を含む文字列を返し、その後にthrowableの完全な再帰スタックトレースが続きます。 |
4 |
static RuntimeException propagate(Throwable throwable) RuntimeExceptionまたはErrorのインスタンスである場合、または最後の手段として、スロー可能オブジェクトをそのまま伝播し、RuntimeExceptionにラップしてから伝播します。 |
5 |
static <X extends Throwable> void propagateIfInstanceOf(Throwable throwable, Class<X> declaredType) 宣言されたタイプのインスタンスである場合にのみ、スロー可能オブジェクトをそのまま伝播します。 |
6 |
static void propagateIfPossible(Throwable throwable) RuntimeExceptionまたはErrorのインスタンスである場合にのみ、スロー可能オブジェクトをそのまま伝播します。 |
7 |
static <X extends Throwable> void propagateIfPossible(Throwable throwable, Class<X> declaredType) RuntimeException、Error、またはdeclareTypeのインスタンスである場合にのみ、スロー可能オブジェクトをそのまま伝播します。 |
8 |
static <X1 extends Throwable,X2 extends Throwable>void propagateIfPossible(Throwable throwable, Class<X1> declaredType1, Class<X2> declaredType2) 例外がRuntimeException、Error、declaredType1、またはdeclareType2のインスタンスである場合に限り、スロー可能オブジェクトをそのまま伝播します。 |
継承されるメソッド
このクラスは、次のクラスからメソッドを継承します-
- java.lang.Object
Throwablesクラスの例
たとえば、* C:/> Guava。*で選択したエディターを使用して、次のJavaプログラムを作成します。
GuavaTester.java
結果を確認する
次のように javac コンパイラを使用してクラスをコンパイルします-
GuavaTesterを実行して結果を確認します。
結果をご覧ください。
グアバ-コレクションユーティリティ
Guavaでは、アプリケーション開発作業における開発者の経験に基づいて、多くの高度なコレクションを紹介しています。 以下に有用なコレクションのリストがあります-
Sr.No | Collection name & Description |
---|---|
1 |
要素の重複を許可するSetインターフェイスの拡張機能。 |
2 |
キーを一度に複数の値にマップできるようにするMapインターフェースの拡張。 |
3 |
逆操作をサポートするMapインターフェイスの拡張。 |
4 |
テーブルは、2つのキーを組み合わせて指定して単一の値を参照できる特別なマップを表します。 |
グアバ-キャッシングユーティリティ
Guavaは、インターフェイスLoadingCache <K、V>によって非常に強力なメモリベースのキャッシュメカニズムを提供します。 値はキャッシュに自動的にロードされ、キャッシュのニーズに役立つ多くのユーティリティメソッドを提供します。
インターフェイス宣言
以下は、 com.google.common.cache.LoadingCache <K、V> インターフェイスの宣言です-
インターフェースメソッド
Sr.No | Method & Description |
---|---|
1 |
V apply(K key) 廃止予定です。 Functionインターフェースを満たすために提供されます。代わりにget(K)またはgetUnchecked(K)を使用してください。 |
2 |
ConcurrentMap<K,V> asMap() このキャッシュに保存されているエントリのビューをスレッドセーフマップとして返します。 |
3 |
V get(K key) このキャッシュ内のキーに関連付けられた値を返し、必要に応じて最初にその値をロードします。 |
4 |
ImmutableMap<K,V> getAll(Iterable<? extends K> keys) キーに関連付けられた値のマップを返し、必要に応じてそれらの値を作成または取得します。 |
5 |
V getUnchecked(K key) このキャッシュ内のキーに関連付けられた値を返し、必要に応じて最初にその値をロードします。 |
6 |
void refresh(K key) おそらく非同期的に、キーの新しい値をロードします。 |
LoadingCacheの例
たとえば、* C:/> Guava。*で選択したエディターを使用して、次のJavaプログラムを作成します。
GuavaTester.java
結果を確認する
次のように javac コンパイラを使用してクラスをコンパイルします-
GuavaTesterを実行して結果を確認します。
結果をご覧ください。
グアバ-文字列ユーティリティ
Guavaは、アプリケーション開発作業における開発者の経験に基づいて、多くの高度な文字列ユーティリティを導入しています。 以下は、有用な文字列ベースのユーティリティのリストです-
Sr.No | Utility name & Description |
---|---|
1 |
オブジェクト、文字列などを結合するユーティリティ |
2 |
文字列を分割するユーティリティ。 |
3 |
文字操作用のユーティリティ。 |
4 |
文字列形式を変更するためのユーティリティ。 |
グアバ-原始ユーティリティ
Javaのプリミティブ型を使用してジェネリックまたはコレクションを入力として渡すことはできないため、Guavaはプリミティブ型をオブジェクトとして処理するためのWrapper Utilitiesクラスを多数提供しました。 以下は、有用なプリミティブ処理ユーティリティのリストです-
Sr.No | Utility name & Description |
---|---|
1 |
プリミティブバイトのユーティリティ。 |
2 |
プリミティブショート用のユーティリティ。 |
3 |
プリミティブintのユーティリティ。 |
4 |
プリミティブロング用のユーティリティ。 |
5 |
プリミティブフロートのユーティリティ。 |
6 |
プリミティブダブルのユーティリティ。 |
7 |
プリミティブ文字用のユーティリティ。 |
8 |
プリミティブブールのユーティリティ。 |
グアバ-数学ユーティリティ
Guavaは、int、long、およびBigIntegerを処理する数学関連のユーティリティクラスを提供します。 以下は有用なユーティリティのリストです-
Sr.No | Utility name & Description |
---|---|
1 |
intの数学ユーティリティ。 |
2 |
長い間数学ユーティリティ。 |
3 |
BigIntegerの数学ユーティリティ。 |