月度归档: 2022年11月

12 篇文章

Kotlin-inline、nonline、crossinline
1. inline java中有一个编译时常量的概念,即编译阶段就会确定变量的值,并直接将确定的值- 替换到调用的地方。 kotlin中使用 const val 用于定义编译时常量 函数相应的则使用 inline,并且还会内联当前函数体内的函数。 fun A(B: ()->Unit) { B() print("A") } // 调用A函数的时…
Kotlin-不变型、协变、逆变
1. 子类型 任何时候,如果要使用 类型A 的值,都能用 类型B 的值作为替换(当做 A 的值),称 B 是 A 的子类型。 2. 泛型中的子类型 如果List要成为List的子类就必须满足下面两个条件: 1. List中方法接收参数的范围 不得小于 List的方法 2. List中方法返回值的范围 不得大于 List的方法 // List带泛型的…