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) { /* 流操作 */ }