:::: 개발 ::::/::: JAVA :::

JAVA null 체크 length 이용

nayha 2010. 6. 17. 09:45
============================ Java Programming Tip ② ==============================

java에서 String에 값이 들어있는지를 체크하기 위해
다음과 같이 체크하는 경우가 있습니다.

if (param != null && param.equals("")) {
    // 값이 있는 경우 처리
} else { 
    // 값이 없는 경우 처리
}

이 경우 다음과 같이 사용하는 것이 좋습니다.
if (param != null && param.length() != 0) {
    // 값이 있는 경우 처리
} else { 
    // 값이 없는 경우 처리
}
                또는
if (param == null || param.length() == 0) {
    // 값이 없는 경우 처리
} else { 
    // 값이 있는 경우 처리
}
 
equals("")를 사용하면 불필요하게 새로운 스트링인 ""를 생성하게 되고
함수 내부에서 몇 번의 비교후에 다른 스트링으로 형변환 및 치환도 합니다.
반면 length() 함수는 내장객체인 int 변수 하나만 리턴하면 되므로 빠릅니다.
아래 String.equals() 함수와 String.length() 함수 소스를 확인해보세요.
-----------------------------------------
 public int length()
 {
     return count;
 }
-----------------------------------------
    public boolean equals(O bject obj)
    {
        if(this == obj)
            return true;
        if(obj instanceof String)
        {
            String s = (String)obj;
            int i = count;
            if(i == s.count)
            {
                char ac[] = value;
                char ac1[] = s.value;
                int j = offset;
                int k = s.offset;
                while(i-- != 0) 
                    if(ac[j++] != ac1[k++])
                        return false;
                return true;
            }
        }
        return false;
    }
-----------------------------------------
 
반응형