아주 편한 인라인 함수가 있어서 부랴부랴 포스팅합니다
kotlin 버전 1.3 이상부터 사용가능해요
ifEmpty
inline fun <C : Array<*>, R, R> C.ifEmpty(defaultValue: () -> R): R
inline fun <C : Collection<*>, R, R> C.ifEmpty(defaultValue: () -> R): R
inline fun <M : Map<*, *>, R, R> M.ifEmpty(defaultValue: () -> R): R
만약 이 배열/컬렉션/맵이 비어 있지 않으면 이 배열/컬렉션/맵 을 반환하고, 비어 있으면 defaultValue 함수를 호출한 결과를 반환
fun main() {
val myArray: Array<Int> = arrayOf()
val defaultValue = listOf(42)
val result = myArray.toList().ifEmpty { defaultValue }
println(result) // 42가 출력됩니다 ~~
}
if else 안 써도 되니까 편한 거 같아요..! 또 괜찮은 함수를 발견하면 줍줍해오겠습니다
'💡 Kotlin' 카테고리의 다른 글
[kotlin] forEach(람다식)의 return break, continue처럼 사용하기 (0) | 2024.01.05 |
---|---|
[Activity] LaunchMode (0) | 2023.06.15 |
[Kotlin] Collection 함수 - (1) 원소 변환 및 필터, 특정원소 검색 (0) | 2023.01.12 |
[Kotlin] mutable Collection (0) | 2023.01.08 |
[Kotlin] Collection (List, Set, Map) (0) | 2023.01.03 |