在需要使用Pair对象的值时,我们可以使用解构声明的方式轻松地访问Pair中的元素。例如: val(username,age)=getUserInfo() println("Username:$username, Age:$age") 上述代码中,使用解构声明将Pair对象的两个值分别赋值给了username和age变量。 总结 Pair是Kotlin中用于组合两个值的便捷类。它可以用于返回多个值、关...
解构声明也可以用在函数中,从函数中返回值: fungetPair(after:String?,afterAge:Int?):Pair<String,Int>{varname="wangzai"varage=23// 处理返回的数据name=after?:name age=afterAge?:agereturnPair(name,age)}funmain(args:Array<String>){val(name,age)=getPair("jowan",null)println("name:$name, ...
例如: public static <K, V> boolean compare(Pair<K, V> p1, Pair<K, V> p2) { public V getValue() { return value; }我不知道上面的代码为什么会工作,因为如果类型参数与占位符在泛型类定义中所扮演的角色相同,那么比较方法应该接收两个不同数据类型的参数相反,它们每个都接收一个类型为Pair< 浏览...
分析: 使用infix关键字修饰的函数,传入A,B两个泛型对象,“A.to(B)”结构,是一种特殊结构暂时把它叫做带接收者的结构,以至于后面的this就是指代A,并且函数的参数只有一个,返回的是一个Pair对象,this指代A,that就是传入的B类型对象。 to函数创建Pair对象,然后可以用解构声明展开 注意: 说明一下中缀调用和解构声...
对于mapOf函数来说,它可以接收不定数量的Pair类型对象,因此我们也可以通过自定义的中缀调用符test来创建一个 map 变量 二、解构声明 有时会有把一个对象解构成多个变量的需求,在 Kotlin 中这种语法称为解构声明 例如,以下例子将 Person 变量结构为了两个新变量:name 和 age,并且可以独立使用它们 ...
val pair = Pair(20.0, 1) val triple = Triple(20.0, 1, "blue") //利用属性顺序获取值 val weightP = pair.first val ageP = pair.second val weightT = triple.first val ageT = triple.second val colorT = triple.third //当然我们也可以利用解构 ...
// 解构:val (x,y) = pair val pair = "Hello" to "Kotlin" val pair2 = Pair("Hello","Kotlin") val first = pair.first val second = pair.second println(first) println(second) // 解构:val (x,y,z) = triple val triple = Triple("x",2,3.0) ...
infixfunAny.to(other:Any)=Pair(this,other) 可以直接使用Pair的内容来初始化两个变量,这个功能被称为解构声明 val(number,name)=1to"one" 用to函数创建一个pair,然后用解构声明来展开 也适用于循环,例如使用withIndex函数的实现 vallist=listOf("A","B","C","D")for((key,value)inlist.withIndex()...
使用解构可以非常方便地处理来自函数或集合的数据: /* Copyright 2020 Google LLC.SPDX-License-Identifier: Apache-2.0 */fungetBestDoggoAndOwner():Pair<Doggo,Owner>{...}// 数据来自 Pair 时的用法funplay(){val(doggo,owner)=getBestDoggoAndOwner()}funplay(doggoOwner:Map<Doggo,Owner>){// 在集合和...
Kotlin为了简化Map的创建,定义了一个新类:Pair,相当于简化版的Map.Entry类: 上面的first相当于key、second相当于value,hashCode()充当了hash属性。 Kotlin还定义了一个to函数来创建Pair对象: 这是一个infix修饰的中缀函数,也是A类对象的扩展函数,它接受一个B类的参数,使用被扩展的A类对象和作为参数的B类对象创建一...