概述
Groovy使用多赋值
def splitName(fullName){
fullName.split(' ')
}
def (firstName,lastName) = splitName('James Bone')
println "$lastName,$firstName $lastName"
运行结果:
Bone,James Bone
上述代码可以把spiltName()结果赋给一对变量firstName,lastName
还可以使用该特性来交换变量,无需创建中间变量
def name1 = "Thomson"
def name2 = "Thompson"
println "$name1 and $name2"
(name1,name2) = [name2,name1]
println "$name1 and $name2"
运行结果:
Thomson and Thompson
Thompson and Thomson
当变量与值得数目不匹配。Groovy也会做处理
def (String cat,String mouse) = ['Tom','Jerry','Spike','Tyke']
println "$cat and $mouse"
运行结果:Tom and Jerry
Groovy会舍弃多余的值
def (first,second,third) = ['Tom','Jerry']
println "$first,$second,$third"
运行结果:Tom,Jerry,null
Groovy会将多余的值设置为null
如果多余的变量不能设置为null的基本类型,Groovy会抛出异常。
def (String cat,String mouse,int a) = ['Tom','Jerry']
println "$cat and $mouse"
结果:Caught: org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'null' with class 'null' to class 'int'. Try 'java.lang.Integer' instead
org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'null' with class 'null' to class 'int'. Try 'java.lang.Integer' instead
在Groovy2.x中,只要可能,int就会被看做基本类型,而非Integer
最后
以上就是无私冬瓜为你收集整理的Groovy使用多赋值Groovy使用多赋值的全部内容,希望文章能够帮你解决Groovy使用多赋值Groovy使用多赋值所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复