Kotlin基础知识目录
语言 | 基类 |
---|---|
Java | Object |
Kotlin | Any |
Aoko库
项目gradle
buildscript {
……
ext.anko_version = "0.10.8" //AnKo库的版本号
}
--------------------------------------------------------
模块gradle
dependencies {
……
implementation "org.jetbrains.anko:anko-common:$anko_version"
}
一些关键字
lateinit ,延时加载,不支持基本类型,不支持val,属性用的时候再初始化
如果想让val支持延时加载且不支持var
val a: String by lazy {
"111" }
as ,强转
by,代理
with、apply、let、run、also
1.with
1.在with里可直接调函数
2.最后一个函数的返回值类型就是with的返回值类型
var s: String = ""
s.equals("111")
s.compareTo("123")
val with: Int = with(s) {
equals("111")
compareTo("123")
}
2.apply
和with差不多,但是返回本对象类型
val apply: String = s.apply {
equals("111")
compareTo("123")
}
3.let(有it)
1.可以判空,如果为空则不会执行
var s2: String? = null
s2?.let {
Log.w("wei", "${
111}")
}
2.最后一个函数的返回值类型就是let的返回值类型
val let: Boolean = s.let {
0
equals("111")
}
4.run
最后一个函数的返回值类型就是run的返回值类型
val run:Boolean = s.run {
0
compareTo("123")
equals("111")
}
5.also
只返回本对象类型
val also:String = s.also {
0
equals("111")
}
Kotlin基本类型、数组及容器
1.基本类型
开头字母大写即可
2.数组
Kotlin的基本数组类型 | 数组类型名称 | 数组类型的初始化方法 |
---|---|---|
整型数组 | IntArray | intArrayOf |
长整型数组 | LongArray | longArrayOf |
浮点数组 | FloatArray | floatArrayOf |
双精度数组 | DoubleArray | doubleArrayOf |
布尔型数组 | BooleanArray | booleanArrayOf |
字符数组 | CharArray | charArrayOf |
var array: IntArray = intArrayOf(1, 2, 3)
array[0]
array.get(0)
array.set(0, 5)
array.size //Java使用length,Kotlin使用size
也可以指定类型
var stringArray: Array<String> = arrayOf("aa", "cc")
3.容器
与Java类似,Kotlin也有三类基本的容器,集合Set,队列List,映射Map
如果想要进行增加或删除,需要加上前缀Mutable
Kotlin的容器 | 名称 | 初始化方法 |
---|---|---|
只读集合 | Set | setOf |
只读队列 | List | listOf |
只读映射 | Map | mapOf |
可变集合 | MutableSet | mutableSetOf |
可变队列 | MutableList | mutableListOf |
可变映射 | MutableMap | mutableMapOf |
var list: MutableList<String> = mutableListOf()
list.add("111")
list.add("222")
list.add("333")
list.remove("111")
list.removeAt(0)
循环
for (i in 0 until list.size) {
Log.w("wei", list[i]