Kotlin 里面比较String 的值是否相等 ==
Java 中 == 比较的内存地址 equals 比较的才是值
Kotlin 不能直接类型转换,可以做类型推到比如
val e:Int=10
val f:Long=e //不被允许
改为:
val f:Long=e.toLong()
Kotlin 数组创建方式
val c0=intArrayOf(1,2,3,4,5)
val c1=IntArray(5){it+1}
数组的长度 c1.size
4.数组遍历元素
val e = floatArrayOf(1f, 2f, 3f, 4f, 5f)
e.forEach {
print(it)
}
5.判断是都有某个元素
if (1f in e) {
}
if (e.any { it == 1f }) {
}
6.区间 step标识步长
val intRange = 1..10 step 2
val intRange2 = 1 downTo 10 step 2
print(intRange.joinToString())
print(intRange2.joinToString())
7.集合
val arrayList = ArrayList()
arrayList+="zhangsan"等价于arrayList.add("zhangsan")
//key value
val hashmap = HashMap<String, Any>()
hashmap["name"]="zhangsan"
// pair triple
val pair=Pair("3",4)
pair.first
val triple=Triple("3",4,555)
triple.third
Kotlin 函数使用
//方法、参数、返回值
fun method(param1:String,param2:String):String{
return param1+param2
}
函数引用
//定义一个x,用函数引用Foo::bar赋值给他(Foo->receiver)
val x:(Foo,String,Long)->Any=Foo::bar
val x0:Foo.(String,Long)->Any=Foo::bar
val x2:Function3<Foo,String,Long,Any> =Foo::bar
class Foo{
fun bar(param1:String,param2:Long):Any{
return ""
}
}
函数变长参数
vararg 关键字
fun longParams(vararg ints:Int){
print(ints.contentToString())
}
longParams(1,2,3,5)
函数多返回值返回 pair、triple 类型
函数默认参数和具名参数 默认z,具名y
fun defaultParams(x:Int,y:String,z:Long=5L){
}
defaultParams(3,y="hello")