检查JSP输入是否为“空”

时间:2012-09-13 14:45:34

标签: java jsp

在我的测试中,以下内容似乎涵盖了我所能想到的确保填充字段的所有内容。谁能想到我可能错过的一个案例?

public static boolean isEmpty(final String string) {
    return string != null && !string.isEmpty() && !string.trim().isEmpty();
}

4 个答案:

答案 0 :(得分:0)

为什么不使用图书馆?

一个例子是Apache的Common Utils:

StringUtils.isBlank()

StringUtils.isNotBlank()

答案 1 :(得分:0)

Apache Commons StringUtils使用以下技术:

isEmpty

public static boolean isEmpty(String str) {
    return str == null || str.length() == 0;
}

isBlank

public static boolean isBlank(String str) {
    int strLen;
    if (str == null || (strLen = str.length()) == 0) {
        return true;
    }
    for (int i = 0; i < strLen; i++) {
        if ((Character.isWhitespace(str.charAt(i)) == false)) {
            return false;
        }
    }
    return true;
}

答案 2 :(得分:0)

该名称有点误导,因为该方法标记为“isEmpty”,但是当它不为空时将返回true ...但这取决于您。

我会将您的AND语句更改为OR并删除中间项,因为它是多余的,例如。

public static boolean isEmpty(final String string) {
  return string == null || string.trim().isEmpty();
}

示例:

    if(isEmpty(null)){
        System.out.println("Empty");
    }else{
        System.out.println("Not Empty");
    }
    if(isEmpty("")){
        System.out.println("Empty");
    }else{
        System.out.println("Not Empty");
    }
    if(isEmpty(" ")){
        System.out.println("Empty");
    }else{
        System.out.println("Not Empty");
    }
    if(isEmpty("Test")){
        System.out.println("Empty");
    }else{
        System.out.println("Not Empty");
    }

<强>输出:

 Empty
 Empty
 Empty
 Not Empty

答案 3 :(得分:-1)

你可以这样做:

public static boolean isEmpty(String string) { //don't make it final going in or you cant trim it.
    string = string.trim();
    return string != null || string.length() == 0;
}