Android Kotlin Iterable.map的类似物,但用于单个对象
我可以在一行中使用map转换列表,如下所示:Android Kotlin Iterable.map的类似物,但用于单个对象,android,kotlin,Android,Kotlin,我可以在一行中使用map转换列表,如下所示: override suspend fun getAllTxtFile(): List<TxtFileModel> { return someDao.getAllTxtFile().map { with(txtFileDataMapper) { it.fromEntityToDomain() } } } 所以,区别在于,对于list,我可以在一行中返回一个值,但是对于单个对象,只能在三行中返回 这没什么大不了的,但我想知道除了单个
override suspend fun getAllTxtFile(): List<TxtFileModel> {
return someDao.getAllTxtFile().map { with(txtFileDataMapper) { it.fromEntityToDomain() } }
}
所以,区别在于,对于list,我可以在一行中返回一个值,但是对于单个对象,只能在三行中返回
这没什么大不了的,但我想知道除了单个对象之外,是否存在.map
的其他变量。我想要类似于.mapsingelobject
:
override suspend fun getTxtFile(txtFileName: String?): TxtFileModel {
return someDao.getTxtFile(txtFileName).mapSingleObject{ with(txtFileDataMapper) { it.fromEntityToDomain() } }
}
您可以使用Kotlin标准库中的一些函数,如
让
,运行
,或与
一起使用
如果函数fromEntityToDomain()
是txtFileDataMapper
类中定义的TxtFile
扩展函数,则可以使用上述函数:
override suspend fun getTxtFile(txtFileName: String?): TxtFileModel? =
someDao.getTxtFile(txtFileName)?.let {
with(txtFileDataMapper) { it.fromEntityToDomain() }
}
.let
的工作原理与.map
完全相同,但只针对一项。在这种代码的平静中,为什么要将与
一起使用:val txtFileModel=with(txtFileDataMapper){txtFile.fromentytodomain()
?据我所知,您没有使用txtFileDataMapper
对象的任何属性或函数。可能fromEntityToDomain
是txtFileDataMapper
类中定义的TxtFile扩展名函数。
override suspend fun getTxtFile(txtFileName: String?): TxtFileModel? =
someDao.getTxtFile(txtFileName)?.let {
with(txtFileDataMapper) { it.fromEntityToDomain() }
}