1. 方法参数的默认值

可以给方法的参数指定默认值

fun someFunction(a: Int = 0, b: String = "") { /* 方法实现 */ }

2. 过滤列表

找出列表中满足某个条件的所有元素。使用filter方法。其中x是自己定义的参数名。

val list = Arrays.asList(1, 2, 3, 4, 5, 6, 7)
val bigger = list.filter { x -> x > 5 }
println(bigger) // [6, 7]

或者在filter中用it

val list = Arrays.asList(1, 2, 3, 4, 5, 6, 7)
val bigger = list.filter { it > 2 }
println(bigger) // [3, 4, 5, 6, 7]

3. 检查某个元素是否在集合里

使用in

val nameList = Arrays.asList("Tom", "Rust Fisher", "Jerry")
if ("Rust Fisher" in nameList) {
    println("Rust Fisher在列表中")
}
if ("David" !in nameList) {
    println("David不在列表中")
}

4. String插值

$把String变量插入字符串里

val firstName = "Rust"
val lastName = "Fisher"
println("$firstName $lastName")

5. 只可读的列表

只能读,不能写的列表。用listOf方法。

val readOnlyList = listOf("a", "b")

上面得到的readOnlyList是没有add相关方法的。

6. 只可读的map

使用mapOf方法得到只读的map。

val map = mapOf("a" to 1, "b" to 2, "c" to 3)

7. while循环读写流

流读写的时候,我们经常使用while来处理。

Java类似如下写法

int len = 0;
while((len = inputStream.read(tmp)) != -1) { /* 流操作 */ }

kotlin中,使用also

while (((inputStream.read(tmp)).also { len = it }) != -1) { /* 流操作 */ }

kotlin 资料分享

140集 Kotlin 入门到精通全系列(项目开发实战)视频教程