鍍金池/ 教程/ Java/ Guava Preconditions類
Guava原語工具
Guava集合工具
Guava Chars類
Guava Shorts類
Guava CharMatcher類
Guava BigIntegerMath類
Guava Range類
Guava Bimap接口
Guava緩存工具
Guava Longs類
Guava Multiset接口
Guava Table接口
Guava Optional類
Guava LongMath類
Guava Spiltter類
Guava Preconditions類
Guava數(shù)學(xué)工具
Guava Ints類
Guava Ordering類
Guava Throwables類
Guava字符串工具
Guava Objects類
Guava Booleans類
Guava教程
Guava Bytes類
Guava CaseFormat類
Guava環(huán)境設(shè)置
Guava Doubles類
Guava Joiner類
Guava Multimap類
Guava Floats類
Guava IntMath類

Guava Preconditions類

Preconditions提供靜態(tài)方法來檢查方法或構(gòu)造函數(shù),被調(diào)用是否給定適當(dāng)?shù)膮?shù)。它檢查的先決條件。其方法失敗拋出IllegalArgumentException。

類聲明

以下是com.google.common.base.Preconditions類的聲明:

@GwtCompatible
public final class Preconditions
   extends Object

類方法

S.N. 方法及說明
1 static void checkArgument(boolean expression)
確保涉及的一個(gè)或多個(gè)參數(shù)來調(diào)用方法表達(dá)式的真相。
2 static void checkArgument(boolean expression, Object errorMessage)
確保涉及的一個(gè)或多個(gè)參數(shù)來調(diào)用方法表達(dá)式的真相。
3 static void checkArgument(boolean expression, String errorMessageTemplate, Object... errorMessageArgs)
確保涉及的一個(gè)或多個(gè)參數(shù)來調(diào)用方法表達(dá)式的真相。
4 static int checkElementIndex(int index, int size)
確保索引指定一個(gè)數(shù)組,列表或尺寸大小的字符串有效的元素。
5 static int checkElementIndex(int index, int size, String desc)
確保索引指定一個(gè)數(shù)組,列表或尺寸大小的字符串有效的元素。
6 static <T> T checkNotNull(T reference)
確保對(duì)象引用作為參數(shù)傳遞給調(diào)用方法不為空。
7 static <T> T checkNotNull(T reference, Object errorMessage)
確保對(duì)象引用作為參數(shù)傳遞給調(diào)用方法不為空。
8 static <T> T checkNotNull(T reference, String errorMessageTemplate, Object... errorMessageArgs)
確保對(duì)象引用作為參數(shù)傳遞給調(diào)用方法不為空。
9 static int checkPositionIndex(int index, int size)
確保索引指定一個(gè)數(shù)組,列表或尺寸大小的字符串的有效位置。
10 static int checkPositionIndex(int index, int size, String desc)
確保索引指定一個(gè)數(shù)組,列表或尺寸大小的字符串的有效位置。
11 static void checkPositionIndexes(int start, int end, int size)
確保開始和結(jié)束指定數(shù)組,列表或字符串大小有效的位置,并按照順序。
12 static void checkState(boolean expression)
確保涉及調(diào)用實(shí)例的狀態(tài),但不涉及任何參數(shù)來調(diào)用方法表達(dá)式的真相。
13 static void checkState(boolean expression, Object errorMessage)
確保涉及調(diào)用實(shí)例的狀態(tài),但不涉及任何參數(shù)來調(diào)用方法表達(dá)式的真相。
14 static void checkState(boolean expression, String errorMessageTemplate, Object... errorMessageArgs)
確保涉及調(diào)用實(shí)例的狀態(tài),但不涉及任何參數(shù)來調(diào)用方法表達(dá)式的真相。

繼承的方法

這個(gè)類繼承了以下類方法:

  • java.lang.Object

Preconditions 示例

使用所選擇的編輯器,創(chuàng)建下面的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};