一、末端操作符 1、collect 操作符 2、reduce 操作符 3、single 操作符 4、first 操作符 5、fold 操作符 6、toList 操作符 7、toSet 操作符 一、末端操作符 末端操作符 指的是 在 Flow 流最末端 调用 挂起函数 收集元素 的操作符 , 最常见的 末端操作符 就是 collect 操作符 ; 常见的末端操作符 : ...
onCompletion操作符在flow中类似finally的作用,但是可以获取到异常 funtestOnCompletion()=runBlocking<Unit>{flow<Int>{emit(1)throwArithmeticException("Num error")}.onCompletion{exception->//可以获取到异常信息,但是不捕获异常println("onCompletion$exception")}.catch{e:Throwable->println("catch$e")}.flowO...
二、 java.lang.Class 与 kotlin.reflect.KClass 一、:: 双冒号操作符 在Kotlin中 ,::双冒号操作符 的作用是 获取 类 , 对象 , 函数 , 属性 的 类型对象 引用 ; 获取的这些引用 , 并不常用 , 都是在 Kotlin 反射操作时才会用到 ; 相当于Java中的 反射 类的 字节码类型 Class 类型 , 对象的类型 ...
(1..3).asFlow().transformLatest { value -> emit("Processing $value")delay(100) // 模拟耗时操作 emit("Done $value")} .collect { println(it) } // 输出: Processing 1, Processing 2, Processing 3, Done 3 组合操作符 1. flatMapConcat:描述:将流中的每个值转换为另一个流,并按顺序连接...
然而操作符数量众多,根据使用场景选择合适的操作符是一个很大的难题,网上搜索了许久只是学习了一个操作符,还要再去验证它,实在浪费时间,开发效率低下。 一种方式是转至命令式开发,将过程按步骤实现,即可完成需求;另一种方式便是一次学习多个操作符,在下次选择操作符时,增加更多选择。
顺序操作符 映射操作符 过滤操作符 生成操作符 注意:在Kotlin中数组和list的操作符基本共同,所以在数组中可用的操作符也可以在list中使用。 统计操作符 any 只要有一个符合就返回true all 所有条件符合才返回true count 返回符合条件的数目 none 如果没有任何元素与给定的函数匹配,则返回true ...
0x00 操作符(operators) 0x01 内建类型(Build-in) 0x02 类型转换:显式类型转换 0x03 在较长数字中使用下划线 0x04 字符串(String) 0x05 字符串模板(String Templates) 0x06 字符串连接(变量插值) 0x06 指定变量类型 0x07 可变 var 和不可变 val ...
:左侧表达式非空,elvis操作符就返回其左侧表达式,否则返回右侧表达式(-1)。注意,当且仅当左侧为空时...
好了,实践环境到这里已经搭建完成,接下来正式开始学习操作符函数吧。 / 1. map / 刚才我们有说会按照先易后难的原则进行学习,那么毫无疑问,map一定是最容易的操作符函数了。 在很多编程语言里面都有内置的map函数,甚至Kotlin自己就有。RxJava中也有map这个操作符...