Guava Preconditions 工具參數前置校驗


   guava 提供 Preconditions  作為代碼校驗的工具類,用來簡化開發中對代碼的校驗或預處理,在邏輯開始前進行合理性校驗,避免參數傳入過深導致的數據錯誤。

   並且能夠在不符合校驗條件的地方,准確的為我們顯示出問題所在。Preconditions 進行了大量方法的重載,總體來說很簡單,看下面的總結就懂了。

1.checkArgument

checkArgument(boolean expression, @Nullable String errorMessageTemplate, @Nullable Object... errorMessageArgs):校驗表達式是否為真,不為真時顯示錯誤信息,錯誤信息中允許使用占位符。

//校驗表達式是否正確,並使用占位符輸出錯誤信息
Preconditions.checkArgument(3 > 4, "%s is wrong", "3 > 4");

2.checkState

checkState(boolean expression):校驗表達式是否為真,一般用作校驗方法返回是否為真。

checkState(boolean expression, @Nullable Object errorMessage):當表達式為假的時候,顯示指定的錯誤信息。

checkState(boolean expression,@Nullable String errorMessageTemplate,@Nullable Object... errorMessageArgs):校驗表達式允許在錯誤信息中使用占位符。

//校驗表達式是否正確,並使用占位符輸出錯誤信息,使用方法作為表達式
Preconditions.checkState(testState(), "%s is wrong", "testState()");

3.checkNotNull

checkNotNull(T reference):校驗對象是否為空。

checkNotNull(T reference, @Nullable Object errorMessage):對象為空時顯示指定的錯誤信息。

checkNotNull(T reference, @Nullable String errorMessageTemplate,@Nullable Object... errorMessageArgs):允許在錯誤信息中使用占位符。

 //校驗對象是否為空,並使用占位符輸出錯誤信息
Preconditions.checkNotNull(testObject(), "%s is null", "testObject()");

4.checkElementIndex

checkElementIndex( int index, int size, @Nullable String desc):校驗元素的索引值是否有效,index大於等於0小於size,在無效時顯示錯誤描述信息。

checkElementIndex(int index, int size):錯誤描述信息為“index”。

//校驗元素索引是否有效 ,使用checkPositionIndex校驗
Preconditions.checkElementIndex(17, list.size());

5.checkPositionIndex

checkPositionIndex(int index, int size, @Nullable String desc):校驗元素的索引值是否有效,index大於等於0小於等於size,在無效時顯示錯誤描述信息。

checkPositionIndex(int index, int size):錯誤描述信息為“index”。

//校驗元素索引是否有效,使用checkPositionIndex校驗,在臨界值不產生異常
 Preconditions.checkPositionIndex(17, list.size());

6.checkPositionIndexes

checkPositionIndexes(int start, int end, int size):校驗大於等於start,小於end的list的長度是否為size。

//校驗是否是有效的索引區間
Preconditions.checkPositionIndexes(3, 11, list.size());

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM