올바른 eqals() 사용법

2014. 2. 7. 12:51
반응형
  • java에서 빈번하게 상용하는 비교함수 equals()

변수.equals(비교문자열)
이 형태는 변수의 값이 절대적으로 null이 나오지 않을 경우에는 상관이 없다
하지만 requst.getParameter()를 사용해서 변수의 값을 초기화 한다거나 변수의 값이 null 이 들어올 수 있다.
변수.equals(비교문자열) 이 형태에서 변수에 null 이 들어오게 되면 Exception 이 발생 한다.

비교문자열.equals(변수)
형태로 문자열을 비교한다면 변수에 null 이 들어와도 Exception 이 발생하지 않는다.(false 출력됨)
이유는 문자열을 비교할때 주체가 되는 대상이 달라진다.
변수.equals(비교문자열) : 변수가 주체가 되어서 문자열 비교
비교문자열.equals(변수) : 비교문자열이 주체가 되어서 문자열 비교

  
public void eqals(){
    String testVal = null;
    String result = "";
        
    /* Exception 발생 */
    //if( !(testVal.equals("")) ) result = "1";
   
    /* 정상 */
    if( !("".equals(testVal)) ) result = "2";
}

 

반응형

+ Recent posts