android studio 3.6
Double
代码段:
private fun getFuelPriceValue(fuel: String, date: Date): Double? {
var resultFuelPriceValue: Double? = null
if (!checkDateNearestFuelPriceMap.keys.contains(date)) {
viewModelScope.launch(Dispatchers.Main) {
val resultFuelPriceEntity = loadFuelPriceEntity(date)
checkDateNearestFuelPriceMap.put(date, resultFuelPriceEntity)
resultFuelPriceValue =
DictionaryService.getFuelPriceValue(fuel, resultFuelPriceEntity!!)
} // launch
} else { // load price from local
resultFuelPriceValue = DictionaryService.getFuelPriceValue(
fuel, checkDateNearestFuelPriceMap.get(date)!!
)
}
return resultFuelPriceValue
}
suspend fun loadFuelPriceEntity(date: Date): FuelPrice? {
// code here
}
什么时候?
checkDateNearestFuelPriceMap
包含日期然后执行
其他的
双倍
.
但当checkDateNearestFuelPriceMap不包含日期时,则执行
loadFuelPriceEntity
. 成功执行后,结果加倍。但它返回null。变量
resultFuelPriceValue
无效的