자바 공백 검수 쉽게 하기

공백 검수를 .equals("") 나 != null 식으로 했는데, 좀 더 진화된 방법이 있었다.

 

공백 검수 잘못된 예

1
2
3
    if (!comfile.equals("") && comfile != null) {
        paramMap.put("companyImageUrl", comIdx+".jpg");        
    }
cs

위처럼 쓸 경우, comfile 파라미터 자체가 null 일 경우 if문 수행할 때 오류가 난다.

파라미터 자체가 null 일 수 없기 때문.

쉽게말하면,

null.equals("") → X
"".equals("") → O

따라서 아래와 같이 StringUtils 의 isEmpty() 메소드를 사용하도록.

 

공백 검수 방법 (StringUtils.isEmpty 메소드 사용)

1
2
3
    if (!StringUtils.isEmpty(company.getCompanyImage())) {
        paramMap.put("companyImageUrl", company.getCompanyCode()+".jpg");        
    }
cs


활용 예)

1
double preLat = Double.parseDouble(StringUtils.isEmpty(param.get("preLat")) ? "0" : param.get("preLat").toString());
cs

 

 

<StringUtils.isEmaty 메소드>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
    /**
     * Check whether the given {@code String} is empty.
     * <p>This method accepts any Object as an argument, comparing it to
     * {@code null} and the empty String. As a consequence, this method
     * will never return {@code true} for a non-null non-String object.
     * <p>The Object signature is useful for general attribute handling code
     * that commonly deals with Strings but generally has to iterate over
     * Objects since attributes may e.g. be primitive value objects as well.
     * @param str the candidate String
     * @since 3.2.1
     */
    public static boolean isEmpty(Object str) {
        return (str == null || "".equals(str));
    }
cs


+ Recent posts