마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

if문 왜 이리 힘들게 하는지???

0 추천

 1: strJumun = m.group(_JUMUN1);
 2: if(strJumun == "")
 3:   strJumun = m.group(_JUMUN10).trim();
 4: else
 5:    strJumun = strJumun.trim();

if문 소스는 간단합니다.
strJumun 에 SMS 문자열 중에 일부분만 저장합니다. 이때 위 그림의 디버그 창을 보면 strJumun="" 입니다. 그러면 if문에서 3번줄이 실행되어야 하는데 아래 그림처럼(파란색) 5번줄이 실행되는 이유가 뭘까요?

익명사용자 님이 2015년 1월 30일 질문

1개의 답변

+3 추천
초보자가 잘 하는 실수죠..

String은 equals 메소드로  비교하세요.
익명사용자 님이 2015년 1월 30일 답변
이 분 말씀대로  if(strJumun.equlas("")) 로 비교하시면됩니다
저도 그리했다가 시간만 낭비...strJumun값이 null 인경우 equals()로 하면 예외 오류발생합니다.
null인 경우인지 아닌지 비교할 때 length로 잡아도 되지 않나요..?
null이면 길이가 0일테고, 아니면 1이상일테니까요.
순서를 바꾸면 널포인터안납니다 if( "".equals(strJumun) )
if(strJumun.equlas(""))  로 하니 되는군요.
소스 윗부분 if문에서 equlas() 로 하면 예외가 났는데 여기서는 안나니 희안하네요.
감사드립니다.
TextUtils.isEmpty() 로 하는 것도 좋구요
...