2013-10-24 3 views
-3

Null이 내 경우에 유효한 조건입니다. 오류 조건이므로 문자열이 비어 있는지 확인하려면 어떻게합니까?문자열 빈 비교를 단축하는 방법은 무엇입니까?

나는 이것을 할 수 있음을 알고있다. 더 좋은 방법이 있을까? null을 확인하지 않으면 NPE가 throw됩니다.

String a = ...; 

if(a!=null && a.isEmpty()) { 
    //do stuff 
} 
+6

이 코드를 메서드에서 래핑하고이 메서드를 사용하십시오. 그러나 바퀴를 재발 명하지 마십시오. 이것은 이미 ['StringUtils.isEmpty (str)']에서 수행됩니다 (http://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringUtils .html # isEmpty (java.lang.CharSequence)) –

+0

그것이 null (a == null)인지 테스트하여 거기서 갈 수 있습니까? – Andrew

+0

null은 나를위한 유효한 조건이고 empty는 오류 조건입니다. 그래서 StringUtils 메서드를 사용할 수 없습니까? – Phoenix

답변

0

문자열의 길이가 0보다 큰지 확인할 수 있습니다. 이 코드가 도움이되어야한다

String a = ...; 

if(a!=null && a.length>0) { 
    //do stuff 
} 
0

널 나에게 유효한 상태이며 빈은

null 경우와 not empty이 유효 오류 상태이며, empty가 잘못되었습니다 :

if(a == null || !a.isEmpty()) 
{ 
    //do stuff 
} 

또는

내가 질문을 이해로서
3

널 (null)

+0

좋은 해결책입니다. (질문에 비하면 보이는 것처럼)'null'도 받아 들일 수 있지만''''는 없습니다. – iamnotmaynard

+0

잘 모르겠지만'myString = "<빈 공간이 많이 있습니다>"; –

+0

'할 일'이란 '예외를 던지다'또는 '보고 오류'를 의미합니다. – iamnotmaynard

0

null이 국가를 위해, 당신이 정말로 원하는 검사가 길이가 0 인 문자열

if ("".equals(myString) { 
    do stuff ... 
} 

이 테스트이며 NPE없이,을 통해 떨어질 것 invalid는 문자열 공허를 검사하고 다른 것들을 수행하는 것을 방지합니다.

String a = ...; 

if (a == null) 
    throw new IllegalStateException("a is null") ; 
if (a.isEmpty()) { 
    //do stuff 
} 
관련 문제