首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
kotlin
florizt
创建于2022-12-01
订阅专栏
kotlin总结
暂无订阅
共34篇文章
创建于2022-12-01
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
flow操作符
创建操作符 flow 创建Flow的基本方法. flowOf 快速创建 flow ,类比 listOf() asFlow 将其他数据转换成 普通的flow ,一般是集合向Flow的转换 callba
equals、hashCode、toString、深/浅拷贝
方法 java kotlin equals 判断两个对象是否是同一个对象。当自定义equals方法时,一定要自定义hashCode方法,以保证用什么来进行equals就用什么来进行hashCode 同
lateinit 和 by lazy
一、lateinit 用作非空类型的初始化: 在使用前需要初始化 如果使用时没有初始化内部会抛出 UninitializedPropertyAccess Exception 可配合 ::xxx.isI
Flow
一、为什么要使用 Flow? LiveData 是 androidx 包下的组件,是 Android 生态中一个的简单的生命周期感知型容器。简单即是它的优势,也是它的局限,当然这些局限性不应该算 Li
协程的取消和异常
一、协程的取消 在不需要协程继续工作时,需要及时地取消它,以免浪费内存和电量。 协程内部是通过抛出一个特殊的异常来实现取消的:CancellationException。如果你想在取消时传递一些关于取
结构化并发
什么是结构化并发,简单来说就是带有结构和层级的并发,这里的结构和层次指的就是协程的父子关系,而并发操作指的就是cancel等操作。 一、协程父子关系 在Java中我们知道想并发编程就使用多线程,但是线
协程线程切换原理
在前面讲如何开启一个原始协程的时候,我们知道: 协程执行流程有3步,createCoroutineUnintercepted创建、intercepted拦截、resumeWith执行 看到interc
协程非阻塞锁mutex
一、协程+Synchronized ? 通常,协程可以帮助我们执行并行任务: 从日志可以看出,两个任务的enter和exit并行输出,并没有先后顺序 接下来添加@Synchronized试试看: 对于
协程挂起和恢复原理
一、如何开启一个原始的协程 1.1、协程流程分析 纵观几种主流的开启协程方式,它们最终都会调用到: 无论走哪个分支,都是调用block的函数,而block 就是我们说的被suspend 修饰的函数。
CoroutineContext 解析
一、CoroutineContext继承关系 CoroutineScope接口 唯一成员变量CoroutineContext 子类Element接口 Job CoroutineDispatcher C
CoroutineStart 解析
在 Kotlin 协程当中,CoroutineStart启动模式是一个枚举: 模式 功能 DEFAULT 立即进入待调度状态 LAZY 只有需要(start/join/await)时才开始调度 ATO
协程启动方式及区别
一、launch launch()中的block()是挂起函数,不会阻塞当前线程。 1.1、使用样例 日志输出 结论:lauch 是非阻塞的 1.2、多个launch情况 日志输出 结论:多个laun
序列化和反序列化
一、什么是序列化和反序列化 Java序列化是指把Java对象转换为字节序列的过程,而Java反序列化是指把字节序列恢复为Java对象的过程。 序列化:序列化是把对象转换成有序字节流,以便在网络上传输或
集合
一、集合 Kotlin中的集合用于在一个单元中存储一组相关对象。通过使用集合,可以存储,检索操作和聚合数据,也可以作为值参传给函数。 Kotlin中大致分为两种不同集合的形式。它们是: 只读集合(不变
注解(annotation class)
JvmOverloads 创建一个kotlin的类 可以看出来 这个构造函数的参数是有默认值的,kotlin的特性对吧,我们在使用的时候可以方便的使用,比如: 但是这个特性如果你用java来调用你就是
内联类(inline class、value class)
一、背景 假设有这样一个方法: 从方法声明可以猜出功能是“延迟long后执行block,并且要求 block 返回一个 Long。” 至于延迟的是秒还是毫秒?block 的返回值表示什么意思?不得而知
伴生类(companion object)
就比如在 Java 中,Integer.valueOf() 就可以帮助开发者快速将字符串转成整型,进入源码一看,可以发现这是一个使用了 static 关键字修饰的静态方法: 可是,在 Kotlin 中
单例类(object)
Kotlin 中有一种特殊的类,它本身也是一个实例(单例),这种既是类又是对象的类需要使用 object 关键字声明(普通类声明使用 class),它跟普通类一样,也可以实现接口和继承父类: 这种 o
嵌套类和内部类(inner class)
一、嵌套类 上面提到的两种情况,是在开发中最常见的。当然,说到内部类,就必须说道另一个概念嵌套类,所谓的嵌套类:即指一个类可以嵌套在其他类中。 例: 输出结果为: 注意: 二、内部类 2.1、关键字
枚举类(enum class)
一、声明方式及枚举常量 1.1、声明 声明格式: 1.2、枚举常量 例: 1.3、访问枚举常量 使用方式为: 通过上面例子来实例讲解: 这里只是让大家明白怎样去访问一个枚举常量。没有讲解到枚举常量的使
下一页