私は 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)
}