공백 검수를 .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 |
'1.자바 > Java' 카테고리의 다른 글
HttpClient, HttpPost, HttpResponse, HttpEntity 사용하기 (0) | 2016.08.12 |
---|---|
MultiValueMap, RestTemplate, HttpEntity 이용하기 (0) | 2016.08.12 |
자바 AES 256 암호화 복호화 (4) | 2016.08.09 |
API 작성을 도와주는 Javadoc (0) | 2016.07.06 |
Java 개발환경 설정 (Java 프로그램 실행 환경 이해하기) (0) | 2016.05.08 |