kotlin学习随笔之(几个Java中没有的函数的使用)
最近,kotlin 的学习似乎很热门,我也是忙里抽闲花时间学习了一下这门很“高大上的语言”,下面我主要介绍几个函数的使用:(Let、Apply、with、Run)
//let的作用是:默认当前的对象作为闭包的it参数,返回值是函数里面的return(或者没有返回值)
funtestLet():Int{
"testLet".let{
println(it)//打印结果:testLet
return1
}
}
//apply的作用:调用某对象的apply函数,在函数范围内,可以任意调用该对象的任意方法,并且返回该对象(
funtestApply(){
ArrayList().apply{
add("hello")
add("world")
add("你好")
remove("你好")
println("this="+this)//打印 this=[hello,world]
}.let{println(it)}//打印 [hello,world]
}
//with函数是一个单独的函数,并不是kotlin中的extension,所以调用方式有点不一样,返回值是最后一行,然后可以直接调用对象的方法,感觉像是let和apply的结合
funtestwith():Int{
with(ArrayList()){
add("aaa")
add("sss")
add("ddd")
println(this)//打印:[aaa,sss,ddd]
}.let{println(it)}//打印对象地址
return2;
}
//run函数和apply函数很像,只不过run函数是使用最后一行的返回,apply返回当前自己的对象
funtestRun(){
"testRun".run{
println(this)//打印:testRun
}.let{println(it)}//打印对象地址
}