04 2024 档案
摘要:
1 委托模式简介 委托模式的类图结构如下。 对应的 Kotlin 代码如下。 fun main() { var baseImpl = BaseImpl() var baseWrapper = BaseWrapper(baseImpl) baseWrapper.myFun1() // 打印:
阅读全文

摘要:
1 匿名类 1)无继承 fun main() { var obj = object { var name: String = "zhang" override fun toString(): String { return name } } println(obj) // zhang } 2
阅读全文

摘要:
1 前言 序列(Sequence)是 Kotlin 中为方便操作集合及其元素而定制的接口,是一个延迟获取数据的集合,只有需要元素时才会生产元素。在处理大量数据时,序列可以显著地提升性能。 Sequence 类似 Java 中的 Stream,详见 → Stream 总结。Sequence 有
阅读全文

摘要:
1 List Java 的 List、Set、Map 介绍见 → Java容器及其常用方法汇总。 1.1 创建 List 1.1.1 emptyList var list = emptyList<String>() // 创建空List 1.1.2 List 构造函数 var list1 = L
阅读全文

摘要:
1 源码 public class Array<T> { public val size: Int public inline constructor(size: Int, init: (Int) -> T) public operator fun get(index: Int): T // 重载a
阅读全文

摘要:
1 类的扩展 Kotlin 提供了扩展类或接口的操作,而无需通过类继承或使用装饰器等设计模式,来为某个类添加一些额外的属性或函数,我们只需要通过一个被称为扩展的特殊声明来完成。通过这种机制,我们可以将那些第三方类不具备的功能强行进行扩展,方便我们的操作。 1.1 扩展内置类 1.1.1 扩展属性
阅读全文

摘要:
1 一元运算符函数 1.1 符号和函数 符号 函数 +a a.unaryPlus() -a a.unaryMinus() !a a.not() a++ a.dec() a-- a.inc() 1.2 案例 fun main() { var stu = Student("Tom", 13) print
阅读全文

摘要:
1 前言 Kotlin 是面向对象编程语言,与 Java 语言类似,都有类、对象、属性、构造函数、成员函数,都有封装、继承、多态三大特性,不同点如下。 Java 有静态(static)代码块,Kotlin 没有; Java 有静态(static)函数,Kotlin 没有; Java 构造函数名与
阅读全文

摘要:
1 常规调用 Lambda 表达式总结 中对 Java 的 Lambda 表达式进行了总结,本文将对 Kotlin 中的 Lambda 表达式进行总结。 1.1 无参函数 fun main() { var myFun: () -> Unit = { println("test") } myFun
阅读全文

摘要:
1 常规函数 1.1 无参函数 fun main() { myFun() } fun myFun() { println("myFun") // 打印: myFun } 1.2 有参函数 1)常规调用 fun main() { myFun("myFun") // 打印: myFun } fun
阅读全文

摘要:
1 选择结构 Kotlin 中选择结构主要包含 if -else、when 语句,并且可以返回结果。 1.1 if-else 1.1. 条件选择 fun main() { var score = 85 if (score >= 90) { println("优秀") } else if (sco
阅读全文

摘要:
1 变量 1.1 变量声明 var a : Int // 声明整数类型变量 var b : Int = 1 // 声明整数类型变量, 同时赋初值为1 var c = 1 // 声明整数类型变量, 同时赋初值为1 val d = 1 // 声明整数类型常量, 值为1(后面不能改变d的值) 变量命名
阅读全文

摘要:
1 前言 Kotlin 是一种现代但已经成熟的编程语言,由 JetBrains 公司于 2011 年设计和开发,并在 2012 年开源,在 2016 年发布 v1.0 版本。在 2017 年,Google 宣布 Kotlin 正式成为 Android 开发语言,这进一步推动了 Kotlin 的普
阅读全文
