使用 Kotlin 映射自定义数据 RxAndroid

mapping custom data RxAndroid with Kotlin

我正在尝试将示例从 this article 从 Java 转换为 Kotlin。 我从 Exmaple 5 的图片中得到错误:

我注意到,如果没有 map() 函数,我不会收到此错误

那么,这个错误的重点是什么,怎么写才正确?

Kotlin 中 lambda 的 return 值始终是块中的最后一个表达式。

所以在这种情况下

的结果
.map { it.note = it.note.toUpperCase() }

不是 return 有意义的值。

你应该做的是这个

.map { 
    it.note = it.note.toUpperCase()
    it
}

其中 return 是一种 Note 而不是 Unit。