我知道flatMap操作,但不完全了解它是如何工作的。
我有一个班级:
class Days() {
List<Date> dates;
}
然后我有一个这些对象的列表
List<Days> month
我想对此对象中的每个日期执行某些操作(例如将它们转换为字符串),然后返回包含所有这些字符串的单个列表。
如何做到这一点?
答案 0 :(得分:1)
如果那个Days
课程在Kotlin中,你可能不会使dates
成为可空。 flatMap
调用可以使用简单的函数引用:
class Days(val dates: List<Date> = emptyList())
fun main(args: Array<String>) {
val manyDays = listOf(Days(), Days())
manyDays.flatMap(Days::dates).forEach(::println)
}
答案 1 :(得分:0)
我当然在发布之后就知道了,但我想我应该把答案放在这里以防其他人发现这个。
month.flatMap{
it.dates ?: listOf<Days>()
}.map{
//do your work on the objects here
}