반응형
오늘은 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
'Android 개발 > Kotlin' 카테고리의 다른 글
CoerceIn, coerceAtMost, coerceAtLeast 범위지정 함수에 대한 정리 # Kotlin (0) | 2023.05.26 |
---|---|
MapNotNull 과 MapNotNullTo 에 대한 정리 # null 제거 (0) | 2023.05.24 |
List 아이템 부분추출 함수 정리 # take, takeWhile, takeLast, drop, slice, first and last (0) | 2023.05.15 |
compareBy 와 min 그리고 sortedWith 사용방법에 대한 정리 (0) | 2023.05.10 |
any , contains, none , all, containsAll 에 대한 정리 # Kotlin list 존재여부 확인 (1) | 2023.05.06 |
Destructuring declaration 에 대해 알아보자 # 구조분해 선언 Kotlin (0) | 2023.05.01 |
Kotlin Escape 에 대한 정리 # RawString Escaped String Literal (0) | 2023.04.30 |
Kotlin GroupBy 구현과 정리 # List 그룹핑 (0) | 2023.04.28 |
getOrNull 과 getOrElse 에 대한 정리 # List Kotlin (0) | 2023.04.28 |
Kotlin Pair 와 Map 함수 이용해서 데이터 가공하기 (0) | 2023.04.26 |
댓글