型推論に失敗しました。型パラメータ t の値は入力型に記載する必要があります。質問する

型推論に失敗しました。型パラメータ t の値は入力型に記載する必要があります。質問する

私は Kotlin の初心者で、1 つのリスト内に存在する項目をフィルター処理しようとしていますが、この目的のためにループとイテレータを使用しています。inここで、if 条件で例外が発生しています。どこが間違っているのか、どなたか教えていただけませんか。ここに関数を貼り付けます。

fun getGateWays(
        gateways: ArrayList<JsonObject>?,
        callback: ResponseCallback<ArrayList<JsonObject>, String>
    ) {


        getDistinctGateways(object : ResponseCallback<List<String>?, String>() {

            override fun onFailure(failure: String) {
            }

            override fun onSuccess(response: List<String>?) {

                for(e in gateways!!.iterator()){
                    if(e.get("value") in response){
                        gateways.remove(e)
                    }
                }
                callback.onSuccess(gateways!!)
            }

        })

    }

ベストアンサー1

リスト内の各ゲートウェイの文字列値を取得する必要があります。asString次のメソッドを使用して実行できますJsonObject

if (e.get("value").asString in response!!) {
    gateways.remove(e)
}

おすすめ記事