条件流中的Kotlin路
kotlin有以下逻辑的最佳方式是什么条件流中的Kotlin路,kotlin,Kotlin,kotlin有以下逻辑的最佳方式是什么 if (it.records.isNotEmpty()) { if (it.records[0].fields.isNotEmpty()) { if (it.records[0].fields["lastModifiedDate"] != null) { RECORD_DATA_LAST_MODIFIED_DATE_FORMAT.parse( it.re
if (it.records.isNotEmpty()) {
if (it.records[0].fields.isNotEmpty()) {
if (it.records[0].fields["lastModifiedDate"] != null) {
RECORD_DATA_LAST_MODIFIED_DATE_FORMAT.parse(
it.records[0].fields["lastModifiedDate"])
} else {
Date(0)
}
} else {
Date(0)
}
} else {
Date(0)
}
因为您没有提供运行代码所需的所有代码,所以我决定创建2个类和一个函数
data class Musician(
val records: List<Record>
)
data class Record(
val fields: Map<String, String>
)
fun test(mus: Musician): Date { }
如果你想使用更多Kotlin有趣的东西,你可以创建一些东西,比如:
fun test(mus: Musician): Date {
val sdf = SimpleDateFormat("dd/MM/yyyy")
return mus.records.firstOrNull()?.fields?.get("lasModifiedDate")?.let {
sdf.parse(it)
} ?: Date(0)
}
这可能不是处理这种情况的最佳方法,但这些是您可以使用Kotlin做的一些选择您的问题缺少一些细节,但可能是这样的:
fun test(mus: Musician): Date {
val sdf = SimpleDateFormat("dd/MM/yyyy")
return if(mus.records.isNotEmpty() &&
mus.records[0].fields.isNotEmpty())
sdf.parse(mus.records[0].fields["lastModifiedDate"]) ?: Date(0)
else
Date(0)
}
val date = it.records[0]?.fields["lastModifiedDate"]?.let { RECORD_DATA_LAST_MODIFIED_DATE.parse(it)} ?: Date(0)
当记录为空时,记录[0]会导致崩溃,因此我必须使用records.firstOrNull()?是的,这是有道理的。