-1

我有一个可变的汽车列表(汽车是一个数据类)。我正在寻找一种方法来在我的可变列表中找到具有特定 id 的 Car。我怎样才能在 Kotlin 中实现这一点?

汽车.kt

data class Car(
    val createdAt: String = "",
    val updatedAt: String = "",
    val id: String = "",
    val number: String = ""
)

在我的CarsFragment.kt 中

var cars: MutableList<Car>

// extract Car with id = "89Ddzedzedze8998" ?
4

3 回答 3

4

使用firstOrNullfind获取结果,如果没有具有给定 ID 的汽车可用,则使用null

fun getCarById(carId: Int) {
   val myCar: Car? = carsList.firstOrNull { it.id == carId }
    // or

   val myCar: Car? = carsList.find { it.id == carId }
}

现在您可以轻松检查您是否获得实际值或空值,并相应地进一步移动。

于 2019-10-18T11:51:12.273 回答
3

所以你想要这样的东西

val idToCheck = "89Ddzedzedze8998"
cars.first {car->
  car.id == idToCheck
}

更新

正如a_local_nobody所提到的,值得一提的是first会抛出一个NoSuchElementExceptionfirstOrNull会返回null

于 2019-10-18T11:38:55.987 回答
3

您可以在 kotlin 中使用 find

val idToCheck = "89Ddzedzedze8998"
 cars.find { it.id == idToCheck  }
于 2019-10-18T11:45:35.120 回答