Android 개발/Kotlin

ifEmpty 와 orEmpty 에 대해서 알아보자 # Kotlin

Developer88 2023. 5. 30. 00:01
반응형

오늘은 Kotlin 의 ifEmpty 와 orEmpty 에 대해서 정리해 보도록 하겠습니다.

 

1. ifEmpty

Kotlin에는 emptyList인 경우에 디폴트 값을 넘겨줄 수 있는 API가 있는데요.

바로 ifEmpty()입니다.

이 함수의 코드를 보면 아래와 같은데요.

isEmpty()로 Collection이 비어있는지를 확인하고, 비어있다면 디폴트 값을 넘겨줍니다.

 

 

 

예제를 보면서 이해해 보도록 하겠습니다.

list가 비어있을 경우에는 아래와 같이 1,2,3으로 구성된 list를 반환하도록 하였습니다.

 

val list = listOf<Int>()
val result = list.ifEmpty { listOf(1, 2, 3) }
println(result)  // 결과: [1, 2, 3]

 

String에도 이것을 적용할 수 있습니다.

 

val str = ""
val result = str.ifEmpty { "Hello, Empty World!" }
println(result)  // 결과: Hello, Empty World!

 

2. orEmpty

orEmpty라는 API는 다음과 같이 null 이나 empty 일경우에는 EmptyList()를 출력해 줍니다.

  • null이나 EmptyList가 아닐 경우: List 그대로
  • null일 경우: EmptyList()
  • EmptyList일 경우: EmptyList()

 

 

아래에서는 null인 리스트에 orEmpty를 사용하였으므로,

emptyList()를 출력해 주었습니다.

 

val nullableList: List<Int>? = null
val emptyList = nullableList.orEmpty()

println(emptyList) // 결과: []

 

empty리스트에 대해서는 그대로 emptyList를 출력해 줍니다.

 

val emptyList: List<Int> = emptyList()
val resultList = emptyList.orEmpty()

println(resultList) // Output: []

 

이상으로 Kotlin의 ifEmpty 와 orEmpty 에 대해서 정리해 보았습니다.

728x90