Guava-前提条件クラス

前提条件は、メソッドまたはコンストラクターが適切なパラメーターで呼び出されているかどうかを確認するための静的メソッドを提供します。前提条件をチェックします。そのメソッドは、失敗するとIllegalArgumentExceptionをスローします。

クラス宣言

以下はの宣言です com.google.common.base.Preconditions クラス-

@GwtCompatible
public final class Preconditions
   extends Object

クラスメソッド

シニア番号 方法と説明
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)

startとendが配列、リスト、またはサイズの文字列内の有効な位置を指定し、順番に並んでいることを確認します。

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

前提条件クラスの例

たとえば、任意のエディタを使用して次のJavaプログラムを作成します。 C:/> Guava.

GuavaTester.java

import com.google.common.base.Preconditions;

public class GuavaTester {

   public static void main(String args[]) {
      GuavaTester guavaTester = new GuavaTester();

      try {
         System.out.println(guavaTester.sqrt(-3.0));
      } catch(IllegalArgumentException e) {
         System.out.println(e.getMessage());
      }

      try {
         System.out.println(guavaTester.sum(null,3));
      } catch(NullPointerException e) {
         System.out.println(e.getMessage());
      }

      try {
         System.out.println(guavaTester.getValue(6));
      } catch(IndexOutOfBoundsException e) {
         System.out.println(e.getMessage());
      }
   }

   public double sqrt(double input) throws IllegalArgumentException {
      Preconditions.checkArgument(input > 0.0,
         "Illegal Argument passed: Negative value %s.", input);
      return Math.sqrt(input);
   }

   public int sum(Integer a, Integer b) {
      a = Preconditions.checkNotNull(a, "Illegal Argument passed: First parameter is Null.");
      b = Preconditions.checkNotNull(b, "Illegal Argument passed: Second parameter is Null.");

      return a+b;
   }

   public int getValue(int input) {
      int[] data = {1,2,3,4,5};
      Preconditions.checkElementIndex(input,data.length, "Illegal Argument passed: Invalid index.");
      return 0;
   }
}

結果を確認する

を使用してクラスをコンパイルします javac 次のようにコンパイラ-

C:\Guava>javac GuavaTester.java

次に、GuavaTesterを実行して結果を確認します。

C:\Guava>java GuavaTester

結果を見てください。

Illegal Argument passed: Negative value -3.0.
Illegal Argument passed: First parameter is Null.
Illegal Argument passed: Invalid index. (6) must be less than size (5)