天天看點

Java 批量判斷參數是否為空 判斷集合

判斷參數是否為空,是因為在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()));
	}
           

繼續閱讀