我正在处理一种情况,我在 Activity 中收到一个通用对象,该对象与房间数据库中的其他对象有很多关系。我需要访问一个低级对象,并且必须使用forEach进行多次迭代,例如:
items.forEach{ item ->
item.categories.forEach{ category ->
category.dataTypes.forEach{ dataType ->
dataType.configValues.forEach{ value ->
if (value) (...)
}
}
}
}
拥有这样的陈述链感觉很烦。它看起来像是错误的代码。有没有办法减少Kotlin的样板?
最佳答案
以前的平面映射怎么样?
items.flatMap { it.categories }
.flatMap { it.dataTypes }
.flatMap { it.configValues }
.filter { ... your filter ... }
.forEach { ... }
链实际上仍在那儿,但被弄平了。
关于kotlin - 如何在Kotlin中替换长链的forEach {}语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57920192/