Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
条件流中的Kotlin路_Kotlin - Fatal编程技术网

条件流中的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

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.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()?是的,这是有道理的。