删除对CombineLatest警告的RxJava未经检查的强制转换,但不对其进行抑制

问题描述 投票:0回答:1

我创建了一个方法,该方法可以进行多次改装,并使用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>
        }
    }

Android Studio Unchecked cast error print

android kotlin retrofit rx-java rx-java2
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.