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