我创建了一个方法,该方法可以进行多次改装,并使用CombineLatest rxjava运算符返回产品列表,然后使用map函数仅获取已解析的响应主体。
该方法按预期工作,但在Android Studio上收到2条未经检查的强制转换警告。
Unchecked cast: Any! to Response<Product>
和
Unchecked cast: List<Product?> to List<Product>
摆脱这两种未经检查的强制性警告的正确方法是什么?我尝试了几种方法来解决这个问题,但是没有运气。
我的方法是这样的:
private fun getProductList(): Observable<List<Product>> {
val retrofitApiCalls = listOf(
Observable.just(
Response.success(
Product("Potato")
)
),
Observable.just(
Response.success(
Product("Banana")
)
)
)
return Observable.combineLatest(retrofitApiCalls) {
return@combineLatest it.map { response -> (response as Response<Product>).body() } as List<Product>
}
}