componentN 函数,并且需要针对基于名称的析构进行迁移。
启用新的基于名称的析构后,圆括号 (x, y) 将用于基于名称的析构,而方括号 [x, y] 则应当用于基于位置的析构。
该检查会在以下情况下发出警告:
示例:
val (x, y) = listOf(1, 2) // 警告:使用自定义 componentN
for ((key, value) in mapOf(1 to "one")) { } // 没有警告:key 和 value 为 Map.Entry 属性
data class Person(val name: String, val age: Int) {
operator fun component3(): String = name + age
}
val (name, age, rendered) = Person("John", 30) // 警告:component3 为自定义
此检查属于基于名称的析构的迁移计划的一部分。