我正在将一些 Java 代码转换为 Kotlin,但遇到了一些问题flattenAsObservable()
Java 中的代码如下所示:
discogsInteractor.search(query)
.map(RootSearchResponse::getSearchResults)
.flattenAsObservable(searchResults -> searchResults)
.take(12)
这是我目前在 Kotlin 中所拥有的:
discogsInteractor.search(query)
.map { RootSearchResponse::searchResults }
.flattenAsObservable<SearchResult> { searchResults -> searchResults }
.take(12)
它强调了第二个searchResults
并给了我以下错误:
Required: (Mutable)Iterable<SearchResult!>!
Found: KProperty1<RootSearchResponse, List<SearchResult>>!
我可以换
.map { RootSearchResponse::searchResults }
和
.map { searchResponse -> searchResponse.searchResults }
它会起作用。如何正确参考方法?或者在这种情况下我不能的原因是什么?
根搜索响应:
data class RootSearchResponse(val pagination: Pagination,
@SerializedName("results") val searchResults: List<SearchResult>)