var a=129;
var b:Int =a;
var c:Int =a;
println(b==a)//true
println(c==b)//true
println(a===b)//true
println(b===c)//true
//直接赋值,并不涉及到装箱,虽然在Kotlin中a是对象,但是在其执行的字节码内,a,b,c均为一普通的
//数值
var a:Int ?=129;
var b: Int? =a;
var c: Int? =a;
println(b==a)//true
println(c==b)//true
println(a===b)//true
println(b===c)//true
//这里a,b,c均装箱,在其字节码中也视为对象,对象的直接赋值,故a,b,c均指向同一个对象
var a:Int =129;
var b: Int? =a;
var c: Int? =a;
println(b==a)//true
println(c==b)//true
println(a===b)//true
println(b===c)//false
//这里b,c均装箱,故在字节码中b,c均被视为对象处理,按赋值次序,a先赋给b,故b直接利用现存的数据
//129即可,不需要再创建内存,而再赋给c,则需要再重新申请内存存储129,故b和c内存地址不同
var a:Int =123;
var b: Int? =a;
var c: Int? =a;
println(b==a)//true
println(c==b)//true
println(a===b)//true
println(b===c)//true
//123在内部有缓存,始终不需要再次创建
var a:Int =129;
var b: Int =a;
var c: Int? =a;
println(b==a)//true
println(c==b)//true
println(a===b)//true
println(b===c)//true
//123只有一次被用作装箱,a与b均在字节码中是数值,而c装箱未曾被装箱过的数,不需要申请内存。
var list= arrayOf(1,2,3)
println(list)
var myList: Array<Int?> = arrayOfNulls(3);//类型是<int>?>
println(myList)
list=Array(3) { index -> (index * 3) }
for (x in list)
print("$x ")//字符串模板$变量
var s="Sometimes ever, sometimes never"
println(s.replace('S','s'))//sometimes ever, sometimes never
println(s.replace("Sometimes","Occasionally"))//Occasionally ever, sometimes never
println(s.replace(Regex("[re]"),"11"))//Som11tim11s 11v1111, som11tim11s n11v1111
println(s.replaceBefore("ever","Replace"))//Replace ever, sometimes never
println(s.replaceBeforeLast("ever","Replace"))//Replaceever
println(s.replaceAfter("ever","Replace"))//Sometimes everReplace
println(s.replaceAfterLast("ever","Replace"))//Sometimes ever, sometimes neverReplace
var s="Don't let dream just be your dream"
println(s.substring(4))//t let dream just be your dream
println(s.substring(3,6))//'t
println(s.substring(IntRange(3,6)))//'t l
println(s.subSequence(3,6))//'t
println(s.subSequence(IntRange(3,6)))//'t l
长度
.length count()
获取重复元素数
count{it==}
反转
reversed()
var s="You are a part-time lover and a full-time friend."
println(s.length)//49
println(s.count())//49
println(s.count{it=='a'})//5
println(s.reversed())//.dneirf emit-lluf a dna revol emit-trap a era uoY