Java中使用Preconditions來(lái)檢查傳入?yún)?shù)介紹
Preconditions是Guava中的一個(gè)類(lèi)庫(kù),用于檢查傳入?yún)?shù),一個(gè)常見(jiàn)用法如下:
boolean findElement(List<String> elements, String desiredElement) { checkNotNull(elements); // ... }
用法簡(jiǎn)單明了,就是檢查參數(shù)elements是不是null,如果是null則扔出NullPointerException。當(dāng)然Preconditions類(lèi)里還有其它方法,可能滿足幾乎所有的傳入?yún)?shù)的檢查。Preconditions的好處在于,它在call stack中更容易理解,并且每個(gè)方法還提供了格式化字符串的變體,形如:
checkArgument(i < j, "Expected i < j, but %s > %s", i, j);
和Java自帶的assert關(guān)鍵字不同的是,Preconditions的方法在release版本中依然有效,這么做的原因,大概是因?yàn)镴ava已經(jīng)很慢了,不在乎多做些檢查吧-_-
相關(guān)文章
Hibernate中使用HQLQuery查詢(xún)?nèi)繑?shù)據(jù)和部分?jǐn)?shù)據(jù)的方法實(shí)例
今天小編就為大家分享一篇關(guān)于Hibernate中使用HQLQuery查詢(xún)?nèi)繑?shù)據(jù)和部分?jǐn)?shù)據(jù)的方法實(shí)例,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03Java實(shí)現(xiàn)兩個(gè)日期相減等于天數(shù)
這篇文章主要介紹了Java兩個(gè)日期相減等于天數(shù)的實(shí)現(xiàn)方式,本文通過(guò)兩種方式結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-09-09Java實(shí)現(xiàn)調(diào)用jython執(zhí)行python文件的方法
這篇文章主要介紹了Java實(shí)現(xiàn)調(diào)用jython執(zhí)行python文件的方法,結(jié)合實(shí)例形式分析了Java調(diào)用jython執(zhí)行python文件的常見(jiàn)操作技巧及相關(guān)問(wèn)題解決方法,需要的朋友可以參考下2018-03-03詳解rabbitmq使用springboot實(shí)現(xiàn)fanout模式
這篇文章主要介紹了rabbitmq使用springboot實(shí)現(xiàn)fanout模式,Fanout特點(diǎn)是發(fā)布與訂閱模式,是一種廣播機(jī)制,它是沒(méi)有路由key的模式,需要的朋友可以參考下2023-07-07詳解Java編程的Observer觀察者設(shè)計(jì)模式
這篇文章主要介紹了Java編程的Observer觀察者設(shè)計(jì)模式,觀察者模式定義了一個(gè)一對(duì)多的依賴(lài)關(guān)系,讓一個(gè)或多個(gè)觀察者對(duì)象監(jiān)察一個(gè)主題對(duì)象,需要的朋友可以參考下2016-01-01Java通過(guò)反射機(jī)制將對(duì)象封裝成JSON和JsonArray格式
這篇文章主要介紹了Java通過(guò)反射機(jī)制將對(duì)象封裝成JSON和JsonArray格式,JAVA反射機(jī)制是在運(yùn)行狀態(tài)中,對(duì)于任意一個(gè)實(shí)體類(lèi),都能夠知道這個(gè)類(lèi)的所有屬性和方法,需要的朋友可以參考下2023-10-10mybatis 一對(duì)一、一對(duì)多和多對(duì)多查詢(xún)實(shí)例代碼
這篇文章主要介紹了mybatis 一對(duì)一、一對(duì)多和多對(duì)多查詢(xún)的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-06-06