Kotlin - String Null 또는 Empty 체크

코틀린에서 문자열의 null 또는 empty 체크하는 방법을 소개합니다.

1. String.isNullOrEmpty()

isNullOrEmpty()는 String이 null 또는 empty일 때 true를 리턴합니다.

String 객체가 null이라도 이 메소드는 호출이 가능합니다.

val notEmptyString = "abc"
val emptyString : String? = ""
val blankString : String? = "   "
val nullString : String? = null

println("null or empty ? ${notEmptyString.isNullOrEmpty()}")
println("null or empty ? ${emptyString.isNullOrEmpty()}")
println("null or empty ? ${blankString.isNullOrEmpty()}")
println("null or empty ? ${nullString.isNullOrEmpty()}")

Output:

null or empty ? false
null or empty ? true
null or empty ? false
null or empty ? true

2. String.isNullOrBlank()

isNullOrBlank()는 문자열이 null, emtpy 또는 공백으로 가득찬 문자열(" ")일 때 true를 리턴합니다.

isNullOrEmpty()에서 체크하는 항목에 추가로, 공백으로 가득찬 문자열도 체크합니다.

val notEmptyString = "abc"
val emptyString : String? = ""
val blankString : String? = "   "
val nullString : String? = null

println("null or blank ? ${notEmptyString.isNullOrBlank()}")
println("null or blank ? ${emptyString.isNullOrBlank()}")
println("null or blank ? ${blankString.isNullOrBlank()}")
println("null or blank ? ${nullString.isNullOrBlank()}")

Output:

null or blank ? false
null or blank ? true
null or blank ? true
null or blank ? true

3. String.isEmpty()

isEmpty()는 문자열이 empty일 때 true를 리턴합니다.

아래와 같이 Safe call(?.)과 Elvis operation(?:)을 사용하여 String 객체가 null일 때 false를 리턴하도록 만들 수 있습니다.

var isEmpty = nullString?.isEmpty() ?: false
println("isEmpty ? ${isEmpty}")

isEmpty = blankString?.isEmpty() ?: false
println("isEmpty ? ${isEmpty}")

isEmpty = emptyString?.isEmpty() ?: false
println("isEmpty ? ${isEmpty}")

Output:

isEmpty ? false
isEmpty ? false
isEmpty ? true

isNotEmpty()

isNotEmpty()isEmpty()와 반대로 문자열이 empty일 때 false를 리턴합니다.

val isNotEmpty = emptyString?.isNotEmpty() ?: false
println("isNotEmpty ? ${isNotEmpty}")

Output:

isNotEmpty ? false

4. str == null || str.length == 0

== 연산자를 이용하여 null인지, 문자열 길이가 0인지 확인할 수 있습니다.

val str = ""
val isEmpty = str == null || str.length == 0
println("isEmpty ? ${isEmpty}")

Output:

isEmpty ? true

References

Loading script...
codechachaCopyright ©2019 codechacha