您嵌套了lambdas,因此"it"将表示最里面的lambda的隐式参数.此警告主要是出于可读性和避免使用念力的目的,因为"it"的含义随着嵌套的lambdas越多而变得越不清楚.我建议您为嵌套的lambdas显式指定lambda参数:
val listPlans: List<Plan> = newPlans.mapTry { plan ->
plan.data.map {
Plan(it.id, it.name, it.phone, it.desc, it.email)
}.toList()
}
or
val listPlans: List<Plan> = newPlans.mapTry {
it.data.map { planData ->
Plan(planData.id, planData.name, planData.phone, planData.desc, planData.email)
}.toList()
}
或者两者兼而有之:
val listPlans: List<Plan> = newPlans.mapTry { plan ->
plan.data.map { planData ->
Plan(planData.id, planData.name, planData.phone, planData.desc, planData.email)
}.toList()
}
It is worth to point out that this is one of the reasons why JetBrains team is planning to remove "it" functionality