鍍金池/ 問(wèn)答/Java  網(wǎng)絡(luò)安全/ java 多參數(shù)為空判斷?

java 多參數(shù)為空判斷?

項(xiàng)目過(guò)程中需要判斷參數(shù)是否為空,但是感覺(jué)沒(méi)有必要用spring 的valition這些框架,想自己簡(jiǎn)單的寫(xiě)個(gè)方法,checkParamNotNull 這種方法。一個(gè)參數(shù)的很好判斷,但是多個(gè)參數(shù)的時(shí)候需要調(diào)用多次。

// 假如一個(gè)三個(gè)參數(shù)需要判斷 param1,param2,param3
checkParamNotNull(param1, "dispalyName1");
checkParamNotNull(param2, "dispalyName1");
checkParamNotNull(param3, "dispalyName1");

但是想一次傳入,這種方式去調(diào)用

checkParamsNotNull(param1, param2, param3);

現(xiàn)在能夠想到的方式是使用變長(zhǎng)參數(shù)或者list傳入進(jìn)去,分別判斷,然后錯(cuò)誤信息就是用參數(shù)名

想請(qǐng)教一下:
這種方式是不是合適,有沒(méi)有更好的方式?
變長(zhǎng)方式這種在平時(shí)見(jiàn)到的地方并不多,是不是有不好的地方?

thx

回答
編輯回答
下墜
public static void checkParamsNotNull(String errorMessage,Object... params) {
        if (params != null && params.length > 0) {
            for (Object element : params) {
                if (element == null) {
                    throw new IllegalArgumentException(errorMessage);
                }
            }
    }
}

這種斷言有很多現(xiàn)成的,沒(méi)必要自己寫(xiě),Spring里就有Assert這個(gè)類

2018年2月21日 19:10