[英]How to replace long chain of forEach{} statements in Kotlin?
我正在处理一种情况,我在活动中收到一个通用对象,该对象与房间数据库中的其他对象有很多关系。 我需要访问一个低级对象,并且必须使用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 { ... }
链实际上仍然在那儿,但是被弄平了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.