More

java11 버전에서 새로 생긴 isBlank와 isEmpty의 차이점

Java11 버전부터 새롭게 추가된 isBlank() 메서드가 있습니다. 버전을 올려서 사용해본지가 오래되어 몰랐었는데 기존에 사용하던 isEmpty에 비해 단순 공백을 체크하는 기능이 추가 되었네요.


isBlank() 와 isEmpty()의 차이점

  • isEmpty() : length를 체크하여 0이면 true를 반환합니다. 그래서 단순히 띄어쓰기 한칸만 되어 있는 문자열을 false로 반환합니다.
  • isBlank() : isEmpty와 다르게 문자열이 비어있거나 공백만 있다면 true를 반환합니다. 그래서 띄어쓰기 한칸만 되어 있는 문자열도 체크하여 true로 반환합니다.



isBlank, isEmpty 코드 테스트

String 변수에 단순히 띄어쓰기 한칸만 들어가 있는 상태로 isEmpty와 isBlack로 테스트한 모습입니다. isEmpty를 사용할 경우 false가 나타나고 trim()을 통해 공백을 잘라줘야 true를 반환하는 걸 볼 수 있습니다.

반면에 isBlank는 true를 반환하는 걸 볼수 있습니다.

isEmpty-isBlack-test

공백 있는 문자열에 대한 isEmpty와 isBlack 테스트



isEmpty-isBlack-test-결과

테스트 결과 isEmpty는 공백만 있는 문자열을 체크 못합니다.