Kotlin高级特性:解构
解构指的是,在赋值过程中,直接将一个对象的多个属性,赋值到多个变量上
代码示例
//创建一个用于演示的类
class Cat(var name:String,var gender:String){
//使用operator关键字定义了两个函数
//需要注意的是,函数的名称一定是 component+数字()
//这时,如果调用了component1,那么得到的就是name
//接下来去看 主方法类,Main类
operator fun component1() = name
operator fun component2() = gender
}
fun main(args: Array<String>) {
val cat = Cat("Tom","boy")
//注意这里的赋值
//括号中可以包含任意个元素
//这里有两个,就分别对应 component1() 和 component2()
//如果有第三个,那么就应该对应 component3() 方法
val (name,gender) = cat
//输出一下看看
println(name)
println(gender)
//有啥用呢?
//非常适合在遍历map的时候直接使用key或value
val map = mapOf<String,String>("key1" to "value1","key2" to "value2")
//map中的元素是一个个键值对
//实际上也是一个一个键值对对象
//在java中是entity
//这里就相当于把map中的每个元素的属性,直接赋值给两个变量k,v
//变量名k,v是任意的
for ((k,v) in map){
println("$k------$v")
}
}