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

"" 으로 체크하는 공백은 equals or == 어떤걸로 비교하나요 ?

+2 추천
String으로 리턴되는 값의 널체크를 하는데요

 

res == null || res.trim() == ""

 

이렇게 해주고 있는데 추가해야될 게 있나요 ??

 

그리고 res.trim() == "" 이게 맞는지 res.trim().equals("") 이 맞는지 좀 알려주세요

 

차이점도 알려주시면 감사하겠습니다  

 

검색하려니 ""이 검색이안되네요 ..
음무 (17,820 포인트) 님이 2014년 3월 20일 질문
== 은 객체가 같은지 비교
String.equals() 는 가지고 있는 값이 같은지 비교.

그러니 String 객체의 경우 값이 같은지 체크할때 무조건 equals 를 사용해야 합니다.

3개의 답변

+2 추천
 
채택된 답변
만약 String res = ""; 라고 하면

 

조건#1

res == null 은 말그대로 null 값으로 할당이 안되있는 경우이기때문에 해당하지않음.

String res = null; 을 한다면 조건을 만족함

 

조건#2

res.trim() == "" 는 양쪽공백문자를 날려주고 문자열을 리턴해줌

""의 경우 날릴 공백이 없음.. 결과 값은 위의 조건을 만족함

예) String res = "공백aa"; 라면 >>> "aa" 로 변신시킴 하지만 문자열 자체를 바꿔주진않음

 

조건#3

res.trim().equals("") 는 조건2와 같다고 볼 수 있음.

양쪽공백문자를 제거한 문자열이 "" 이면 조건을 만족함
초보개발자ㅠ (33,870 포인트) 님이 2014년 3월 20일 답변
음무님이 2014년 3월 20일 채택됨
+4 추천
참고로 TextUtils.isEmpty() 로 체크하시면 널과 빈 문자 다 체크해줍니다.
b22n (22,940 포인트) 님이 2014년 3월 20일 답변
공백은제거해서 체크안해주기 때문에 공백고려한다면 만들어서 쓰는게 나음
공백은 유의미할 수도 있으니까 필요할때만 걍 파리미터에 trim()한번 붙여주는게 낫죠
+3 추천

res.trim().equals("")

aucd29 (218,390 포인트) 님이 2014년 3월 20일 답변
...