Kotlin
文章平均质量分 94
麦田里的守望者-Jiang
No pains no gains!
展开
-
Kotlin Flow 冷流和热流
冷流需要有数据生产者、0或多个中间操作、数据消费者才能一起构建成为一个完整的流。它的执行原理类似 Kotin Sequence,当有消费者 collect 或其它终端操作时,流开始从下往上触发,然后从上往下流动。在热流 SharedFlow 中,当它创建以后它就存在了,它可以在生产者 emit 数据时,没有消费者 collect 数据而独立运行。当生产者 emit 数据后,这些数据会被缓存下来,新老消费者都可以收到这些数据,从而达到共享数据。原创 2023-04-03 09:32:12 · 855 阅读 · 1 评论 -
Kotlin 协程探索
Kotlin 协程是一套线程 API 框架,在 Kotlin 语言环境下使用它做并发编程比传统 Thread, Executors 和 RxJava 更有优势,代码逻辑上“同步非阻塞“,而且简洁,易阅读和维护。suspend是 Kotlin 语言中一个关键字,用于修饰方法,当修饰方法时,该方法只能被suspend修饰的方法和协程调用。此时,也预示着该方法是一个耗时方法,告诉调用者需要在协程中使用。Android 上的 Kotlin 协程下一篇,将研究 Kotlin Flow。原创 2023-01-04 11:02:48 · 1038 阅读 · 0 评论 -
Kotlin 惰性集合操作-序列 Sequence
Kotlin 标准库提供的集合操作函数:filter,map, flatmap 等,在操作的时候会创建存储中间结果的临时列表,当集合元素较多时,这种链式操作就会变得低效。为了解决这种问题,Kotlin 提供了惰性集合操作Sequence接口,只有在 末端操作被调用的时候,也就是获取结果的时候,序列中的元素才会被逐个执行,处理完第一个元素后,才会处理第二个元素,这样中间操作是被延期执行的。而且因为是顺序地去执行每一个元素,所以可以先做 filter 变换,再做 map 变换,这样有助于减少变换的总次数。原创 2023-01-03 09:00:00 · 662 阅读 · 1 评论 -
Kotlin与Java的异同(一)
Kotlin简介Kotlin是一种针对Java 平台的新编程语言。Kotlin简洁、安全、务实,并且专注于与Java代码的互操作性。它几乎可以用在现在Java使用的任何地方:服务端开发、Android应用等等。Kotlin 可以很好地和所有现存的Java库和框架一起工作,而且性能和Java旗鼓相当。Kotlin 特点:Kotlin 是静态类型语言并支持类型推导,允许维护正确性与性能的同时保...原创 2019-03-25 10:05:05 · 31842 阅读 · 7 评论 -
Kotlin与Java的异同(二)
1.局部函数和扩展在重构代码时,通常把长的方法分解成更小的代码块,然后重用这些代码。但是,这样可能让代码更费解,因为以一个包含许多小方法的类告终,而且它们之间并没有明确的关系。可以更进一步地将提取的函数组合成一个内部类,这样就可以保持结构,但是这种函数需要用到大量的样板代码。Kotlin:新定义:在函数中嵌套提取的函数。这样既可以获得所需的结构,也无需额外的语法开销。class User(...原创 2019-04-15 10:12:09 · 2951 阅读 · 1 评论 -
Android 防止空指针异常
文章目录空指针异常防止空指针异常Java 注解Java 8 中的 Optional 类型Kotlin总结空指针异常先复习下异常。异常分为 Exception 和 Error,Exception 和 Error 类都继承自Throwable类。Exception(程序可恢复):表示程序可以处理的异常,可以捕获并且可恢复。遇到这类异常,应该尽可能处理异常,使程序恢复运行,而不应该随意终止异常...原创 2019-07-29 10:23:40 · 3346 阅读 · 0 评论