gpt4 book ai didi

android - Kotlin Iterable.map 的类似物,但用于单个对象

转载 作者:行者123 更新时间:2023-12-02 12:44:59 24 4
gpt4 key购买 nike

我可以像这样在一行中转换带有 map 的列表:

override suspend fun getAllTxtFile(): List<TxtFileModel> {
return someDao.getAllTxtFile().map { with(txtFileDataMapper) { it.fromEntityToDomain() } }
}

但我不知道如何为单个类对象做到这一点:
override suspend fun getTxtFile(txtFileName: String?): TxtFileModel {
val txtFile = someDao.getTxtFile(txtFileName)
val txtFileModel = with(txtFileDataMapper) { txtFile.fromEntityToDomain() }
return txtFileModel
}

所以,不同之处在于,对于列表,我可以在一行中返回一个值,但对于单个对象,我只能在 3 行中返回一个值。

这没什么大不了的,但我想知道是否存在一些类似 .map 的比喻。但对于单个对象。我想要类似 .mapSingleObject 的东西:
override suspend fun getTxtFile(txtFileName: String?): TxtFileModel {
return someDao.getTxtFile(txtFileName).mapSingleObject{ with(txtFileDataMapper) { it.fromEntityToDomain() } }
}

最佳答案

您可以使用 Kotlin 标准库中的一些函数,例如 let , run , 或 with .

如果函数 fromEntityToDomain()TxtFile txtFileDataMapper 中定义的扩展函数的类,你可以使用上面提到的函数:

override suspend fun getTxtFile(txtFileName: String?): TxtFileModel? = 
someDao.getTxtFile(txtFileName)?.let {
with(txtFileDataMapper) { it.fromEntityToDomain() }
}

关于android - Kotlin Iterable.map 的类似物,但用于单个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62456102/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com