本文只是簡單的介紹Java中使用Preconditions來檢查傳入參介紹,需要的朋友可以參考
添加依賴:
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>19.0</version>
</dependency>
Preconditions是Guava中的一個類庫,用於檢查傳入參數,一個常見用法如下:
Preconditions.checkArgument(!ObjectUtils.isEmpty(queryAccountRequest), "入參缺失");
當判斷參數爲空時,拋出異常
public static void checkArgument(boolean expression, @Nullable Object errorMessage) {
if(!expression) {
throw new IllegalArgumentException(String.valueOf(errorMessage));
}
}
補充:
翻開Preconditions的源碼,我們看到,guava進行了大量方法的重載,組成了Preconditions工具類,下面我們先簡單的瞭解一下,所有的14個靜態方法,如下:
1.checkArgument(boolean expression):用來校驗表達式是否爲真,一般用作方法中校驗參數
2.checkArgument(boolean expression, @Nullable Object errorMessage):校驗表達式是否爲真,不爲真時顯示指定的錯誤信息。
3.checkArgument(boolean expression, @Nullable String errorMessageTemplate, @Nullable Object... errorMessageArgs):校驗表達式是否爲真,不爲真時顯示錯誤信息,錯誤信息中允許使用佔位符。
4.checkState(boolean expression):校驗表達式是否爲真,一般用作校驗方法返回是否爲真。
5.checkState(boolean expression, @Nullable Object errorMessage):當表達式爲假的時候,顯示指定的錯誤信息。
6.checkState(boolean expression,@Nullable String errorMessageTemplate,@Nullable Object... errorMessageArgs):允許在錯誤信息中使用佔位符。
7.checkNotNull(T reference):校驗對象是否爲空。
8.checkNotNull(T reference, @Nullable Object errorMessage):對象爲空時顯示指定的錯誤信息。
9.checkNotNull(T reference, @Nullable String errorMessageTemplate,@Nullable Object... errorMessageArgs):允許在錯誤信息中使用佔位符。
10.checkElementIndex( int index, int size, @Nullable String desc):校驗元素的索引值是否有效,index大於等於0小於size,在無效時顯示錯誤描述信息。
11.checkElementIndex(int index, int size):錯誤描述信息爲“index”
12.checkPositionIndex(int index, int size, @Nullable String desc):校驗元素的索引值是否有效,index大於等於0小於等於size,在無效時顯示錯誤描述信息。
13.checkPositionIndex(int index, int size):錯誤描述信息爲“index”
14.checkPositionIndexes(int start, int end, int size):校驗大於等於start,小於end的list的長度是否爲size。