判斷參數是否為空,是因為在controller層會寫很多if else 這樣代碼很備援,封裝一種方法可以判斷參數是否為空,判斷集合,是否為0,因為現在業務使用需要判斷類型不是很多,如果多種類型可以考慮新增方法去判斷,最好不要在一個方法中寫太多代碼,這樣不友善閱讀,希望幫助到大家。
/**
* 判斷參數是否為空
*
* @param keys
* 1、代表需要判斷是否小于或等于0
* 2、判斷集合
* @param strs
* 具體值
* @return
*/
public static boolean isNotEmptyBatch(String[] keys, Object... strs) {
for (int i = 0; i < strs.length; i++) {
Object string = strs[i];
if (string == null || "".equals(string)) {
return false;
}
if (null != keys[i] ) {
if (keys[i].equals("1")) {
String strValue = strs[i].toString();
if (!isDigit(strValue) || Integer.valueOf(strValue) <= 0) {
return false;
}
}
if (keys[i].equals("2")) {
List<?> list = (List<?>)strs[i];
if (list.size() <=0) {
return false;
}
}
}
}
return true;
}
/**
* 判斷是否是數字
*
* @param str
* @return
*/
public static boolean isDigit(String str) {
if (isNull(str))
return false;
for (int i = 0, size = str.length(); i < size; i++) {
if (!Character.isDigit(str.charAt(i)))
return false;
}
return true;
}
public static boolean isNull(String str) {
return (str == null || str.equals("null") || str.trim().length() == 0);
}
public static void main(String[] args) {
System.out.println(isNotEmptyBatch(new String[]{"1","2"}, "1",new ArrayList()));
}