如何在 kotlin 中将 List<Unit> 类型更改为正确的类型

How change List<Unit> type to proper one in kotlin

我在仅获取具有传递的 coinList 值的信息时遇到问题。首先,我想将 coinList 设为 List<Coin> 而不是 List<Unit>,但我不知道如何更改它。我想将 it.idcoinList 进行比较,如果它们具有相同的值,则将其传递给函数 coin。提前致谢!

class GetCoinsUseCase @Inject constructor(
    private val repository: CoinRepository
){
    private val coinList = listOf("btc-bitcoin", "usdt-tether", "eth-ethereum")

     operator fun invoke(): Flow<Resource<List<Coin>>> = flow{
        try{
            emit(Resource.Loading<List<Coin>>())
            val coins = repository.getCoins().map { if (it.id.equals(coinList)){ it.toCoin() }}
            emit(Resource.Success<List<Coin>>(coins))
        }catch (e: HttpException){
            emit(Resource.Error<List<Coin>>(e.localizedMessage ?: "Error occurred"))
        }
     }
}

也许这样的事情会起作用,首先做一个过滤器只检索相关的项目,然后映射

    val coinsList = arrayListOf<String>("foo", "bar")
    val coins = repository.getCoins().filter { it.id in coinsList }.map {
        it.toCoin()
    }