一部の 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)
2番目に下線が引かれsearchResults
、次のエラーが表示されます。
Required: (Mutable)Iterable<SearchResult!>!
Found: KProperty1<RootSearchResponse, List<SearchResult>>!
交換できます
.map { RootSearchResponse::searchResults }
と
.map { searchResponse -> searchResponse.searchResults }
そしてそれはうまくいくでしょう。メソッド参照を正しく行うにはどうすればよいですか? または、この場合にできない理由は何ですか?
RootSearchResponse:
data class RootSearchResponse(val pagination: Pagination,
@SerializedName("results") val searchResults: List<SearchResult>)