![](https://img-blog.csdnimg.cn/20210719133751991.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Kotlin
Kotlin
MarkRZJ
快乐的生活是一种选择
展开
-
Kotlin inline 和 reified
inline 即方法内联,这并非 Kotlin 所独有的特性,JVM 在程序编译的时候就会对短小并调用频率高的方法进行优化内联,这样来提高应用的执行效率,值得注意的一点,内联的预期性能影响不大,内联最适用于具有函数类型参数的函数。 reified 字面意思是具体化,其作用是防止泛形擦除,使得编译后的字节码仍然保留其真实类型 inline fun <reified T: Activity> Activity.launchActivity(bundle: Bundle? = null){ v原创 2021-07-19 13:53:08 · 703 阅读 · 0 评论 -
Kotlin contract 契约
Kotlin 的赋值智能推断可以根据值的类型来转化,但是对于函数就没有那么“智能”了 fun String?.isNotNull():Boolean { return this != null && isNotEmpty() } fun printLength(s:String?=null) { if (!s.isNotNull()) { // Only safe (?.) or non-null asserted (!!.) calls are allow原创 2021-07-19 13:52:10 · 152 阅读 · 0 评论 -
Kotlin StandardKt
TODO 往往出现在子类实现抽象父类时被重写的抽象方法内,如果方法不重写就必须将 TODO 去除,否则会抛出异常 // Always throws NotImplementedError stating that operation is not implemented. @kotlin.internal.InlineOnly public inline fun TODO(): Nothing = throw NotImplementedError() /** * Always throws [NotI原创 2021-07-19 13:51:21 · 125 阅读 · 0 评论