Kotlin 进阶 | 不变型、协变、逆变子类型泛型中的子类型不变型协变逆变PECS 原则 & POCI 原则类型投影推荐阅读
引入泛型之后,子类型的概念变得复杂,好不容易用刚学会的泛型定义了方法,用起...
Kotlin中嵌套类、数据类、枚举类和密封类的详解
一、嵌套类
如果一个类只对另一个类有用,那么将其嵌入到该类中并使这两个类保...
Kotlin 中定义类、field关键字,主构造函数和次构造函数详解
1、定义类与field关键字,以及计算属性,和防范竞态条件
class Student {
...
Kotlin 中初始化块、初始化的顺序、lateinit延迟初始化详解
1、初始化块:初始化块可以设置变量或值,以及执行有效性检查,如检查传给某构...
Kotlin 中List集合,Set集合,Map集合,数组的详解
1、创建不可变List集合
fun main() {
val list = listOf("Jason", "Jack...
Kotlin中扩展函数、infix关键字、apply函数和DSL的详解
一、扩展函数
定义扩展函数扩展可以在不直接修改类定义的情况下增加类功能,扩...
Kotlin中与Java互操作与可空性、类型映射、属性访问、@JvmOverloads、@JvmField、@JvmStatic、@Throws和函数类型操作详解
一、Kotlin与Java互操作与可空性。
Kotlin与Java互操作性与可空性
Java世界...
Kotlin 中变量,类型,表达式,函数详解
一、变量,编译时变量
1、要声明可修改变量,使用var关键字。
2、要声明只...
Kotlin中正确的使用Handler
1. Handler造成的内存泄漏2. Kotlin中使用Handler
Handler造成的内存泄漏
Handle...
Kotlin中空安全操作符,异常处理和自定义异常,以及先决条件函数详解
一、Kotlin的可空性
null 在java中我们司空见惯的空指针异常NullPointerExcep...
Kotlin | 使用vararg可变参数
背景
一般在项目开发中,我们经常会在关键节点上埋点,而且埋点中会增加一些额...
Kotlin | 深入理解协程
@[toc]
Kotlin协程
协程由程序自己创建和调度,不需要操作系统调度,所以协...
Kotlin常用Collection集合操作整理
本篇记录了Kotlin常用集合的相关操作,用以熟练使用Kotlin里的相关集合。集合接口...
Kotlin之@JvmOverloads、@JvmStatic、@JvmField、@JvmInline等注解使用总结
写在前面
Kotlin代码可以经过编译器转换成VM虚拟机能识别的字节码,所以Java与...
Kotlin data数据类、copy()函数、sealed密封类
data数据类
data class ModelA(
val name: String = "",
var age: Int...
Android Kotlin之Flow数据流
Flow介绍
Flow是google官方提供的一套基于kotlin协程的响应式编程模型,它与Rx...
Kotlin | Flow数据流的几种使用场景
一 Flow使用注意事项
多个Flow不能放到一个lifecycleScope.launch里去collect{...
Android 基于Kotlin Flow实现一个倒计时功能
简单示例:
flow {
log("send hello")
emit("hello") //发送数据
...
Kotlin 作用域函数之let、with、run、also、apply的使用笔记
作用域函数
Kotlin 标准库包含几个函数,目的是在对象的上下文中执行代码块。...
Kotlin内联函数inline、noinline、crossinline
高阶函数
首先来看下kotlin里的高阶函数定义:如果一个函数接收另一个函数作为...