
Kotlin
CJ_Geek
这个作者很懒,什么都没留下…
展开
-
Kotlin注解
如何定义注解在类前面增加annotation即可annotation class Anno2(val bar:String) {}元注解与JAVA类似。Retention表示注解用途;Target表示注解作用位置原创 2020-12-04 14:29:33 · 404 阅读 · 0 评论 -
Kotlin反射
KclassKotlin的KClass和java的Class可以看作同一个含义的类型,并且可以通过.java 和.kotlin方法在KClass和Class之间互相转化。isCompanion : 是否是伴生对象isData : 是否是数据类isSealed : 是否是密封类objectInstance : object实例(如果是object)companionObjectInstance : 伴生对象实例declaredMemberExtensionFunctions : 扩展函数de原创 2020-12-02 19:53:21 · 314 阅读 · 0 评论 -
Kotlin之Lambda优化inline篇
问题来源Kotlin每声明一个Lambda表达式,就会在字节码中产生一个匿名类,该匿名类包含了一个invoke方法,作为Lambda的调用方法,每次调用的时候,还会创建一个新对象。解决方案为了解决Lambda的开销问题。Kotlin引入了内联函数(inline),内联函数在编译期被嵌入每一个被调用的地方,以减少额外生成的匿名函数,以及函数执行的时间开销。案例未使用inline声明lambdaclass LambdaDemo { fun main(args: Array<Strin原创 2020-12-01 21:08:48 · 448 阅读 · 0 评论 -
Kotlin中Standard.kt的函数(let,with,run,apply,also)
内联扩展函数let1.源码// block: lambda函数块->lambda表达式的参数是对象T// 返回值:lambda函数块最后一行或指定retur表达式public inline fun <T, R> T.let(block: (T) -> R): R { // this指当前对象T return block(this)}2.转成JAVApublic final Object let(Object $this$let, @NotNull Funct原创 2020-11-18 19:32:30 · 426 阅读 · 1 评论