首页 > 解决方案 > 在 Kotlin 中将元素添加到 List ifNotEmpty() 的最惯用方式

问题描述

我想在 a 前面加上List<Thing>一个元素,但前提是列表不为空。

我在考虑takeIf { it.isNotEmpty() },orEmpty()和的组合flatMap

在 Kotlin 中最惯用的方法是什么?

标签: listkotlinidioms

解决方案


这就是我想出的

val myEmptyList = listOf<String>()
val myNotEmptyList = listOf<String>("is", "the", "worst")

listOf("first").takeIf { myEmptyList.isNotEmpty() }.orEmpty() + myEmptyList
listOf("first").takeIf { myNotEmptyList.isNotEmpty() }.orEmpty() + myNotEmptyList

输出:

[]
[first, is, the, worst]

推荐阅读