Google Guava之Preconditions

Preconditions比較簡(jiǎn)單的

前置條件:讓方法調(diào)用的前置條件判斷更簡(jiǎn)單。

準(zhǔn)備工作

官方倉(cāng)庫(kù):https://github.com/google/guava

在線wiki:
https://github.com/google/guava/wiki/PreconditionsExplained

com.google.common.base.Preconditions

方法聲明 描述 失敗時(shí)拋出的異常
checkArgument(boolean) 檢查boolean是否為true,傳入false拋出異常 IllegalArgumentException
checkNotNull(T) 檢查<T> value為null直接拋出異常,否則直接返回value。 NullPointerException
checkState(boolean) 用來(lái)檢查對(duì)象的某些狀態(tài)。 IllegalStateException
checkElementIndex(int index, int size) 檢查index作為索引值對(duì)某個(gè)列表、字符串或數(shù)組是否有效。index>=0 && index<size IndexOutOfBoundsException
checkPositionIndex(int index, int size) 檢查index作為位置值對(duì)某個(gè)列表、字符串或數(shù)組是否有效。index>=0 && index<=size IndexOutOfBoundsException
checkPositionIndexes(int start, int end, int size) 檢查[start, end]表示的位置范圍對(duì)某個(gè)列表、字符串或數(shù)組是否有效 IndexOutOfBoundsException
Preconditions.checkArgument(false);Preconditions.checkArgument(false,"this is a test!"); //this is a test!
Preconditions.checkArgument(false,"%s is a %s","hjh","pig"); //hjh is a pig
Preconditions.checkElementIndex(20, 10); //java.lang.IndexOutOfBoundsException: index (20) must be less than size (10)
Preconditions.checkPositionIndex(20, 10, "desc !!!!"); //java.lang.IndexOutOfBoundsException: desc !!!! (20) must not be greater than size (10)
Preconditions.checkPositionIndex(20, 10); //java.lang.IndexOutOfBoundsException: index (20) must not be greater than size (10)
Preconditions.checkState(false); // java.lang.IllegalStateException
Preconditions.checkNotNull(1);//1
Preconditions.checkNotNull(null,"is null");  //java.lang.NullPointerException: is null
Preconditions.checkNotNull(null, "%s is null !", "object"); //java.lang.NullPointerException: object is null !

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • afinalAfinal是一個(gè)android的ioc,orm框架 https://github.com/yangf...
    passiontim閱讀 15,847評(píng)論 2 45
  • 太長(zhǎng)了,還是轉(zhuǎn)載吧...今天在看博客的時(shí)候,無(wú)意中發(fā)現(xiàn)了@Trinea在GitHub上的一個(gè)項(xiàng)目Android開源...
    龐哈哈哈12138閱讀 20,390評(píng)論 3 283
  • 我自己是一個(gè)什么樣的人?我想這個(gè)問題源于一個(gè)人從本源上面想找尋自己對(duì)自己的認(rèn)知,有些人需要通過(guò)一些外在的符號(hào)...
    StayHungry閱讀 260評(píng)論 0 0
  • 8月24日下午13:57--14:24 我是比較了解自己的,所以就談?wù)勛约簩?duì)這個(gè)話題的感受。 學(xué)習(xí)了這么久,其實(shí)從...
    立仁閱讀 1,158評(píng)論 0 1
  • 今年是個(gè)明星大婚年,從吳奇隆劉詩(shī)詩(shī)到昨天舉行婚禮霍建華林心如,大家紛紛結(jié)束單身生活跨入婚姻階段,有些被看好有...
    Sahara撒拉閱讀 199評(píng)論 0 0

友情鏈接更多精彩內(nèi)容