개발환경이 스프링인 실무에서 유용하게 자주사용하는 메서드가 하나있다.
바로 문자열에 대한 null체크와 동시에 빈문자열인지 확인 할수있는
StringUtils.hasText();
해당 메서드는 다음과 같은 패키지에 위치해 있으며
import org.springframework.util.StringUtils;
스프링 코어에 속해있다.
implementation group: 'org.springframework', name: 'spring-core', version: '5.2.24.RELEASE'
사용 코드는 다음과 같다.
String str1 = null;
String str2 = "";
String str3 = " ";
String str4 = " h o";
String str5 = "holle";
System.err.println(StringUtils.hasText(str1)); // false
System.err.println(StringUtils.hasText(str2)); // false
System.err.println(StringUtils.hasText(str3)); // false
System.err.println(StringUtils.hasText(str4)); // true
System.err.println(StringUtils.hasText(str5)); // true
보면알겠지만 null 체크 뿐만 아니라 공백을 무시하여 빈문자열인지를 검사한다.
내부를 들여다 보면 다음과 같이 구현하고 있다.
public static boolean hasText(@Nullable String str) {
return (str != null && !str.isEmpty() && containsText(str));
}
private static boolean containsText(CharSequence str) {
int strLen = str.length();
for (int i = 0; i < strLen; i++) {
if (!Character.isWhitespace(str.charAt(i))) {
return true;
}
}
return false;
}