![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Kotlin
Gdeer
这个作者很懒,什么都没留下…
展开
-
Kotlin 和 Groovy 的 lambda 对比
文章目录一、格式1.1 完整格式1.2 简化格式二、trailing lambda2.1 三个参数2.2 一个参数三、it3.1 作为入参3.2 赋值给变量四、lambda 的返回值五、无用变量的处理六、外部变量的访问七、invoke一、格式1.1 完整格式// Kotlinval sum: (Int, Int) -> Int = { x: Int, y: Int -> x +...原创 2019-10-29 10:36:12 · 1805 阅读 · 0 评论 -
Kotlin 基础:泛型
本文介绍 Kotlin 中的泛型,可与 Java 中的泛型 配合食用。文章目录一、为什么要有泛型二、泛型的分类三、泛型的关键字3.1 T3.2 out3.3 in四、泛型类、方法的定义4.1 泛型类的定义4.2 泛型方法的定义五、泛型类、方法的使用5.1 泛型实现类5.2 通配类5.2.1 AClass\一、为什么要有泛型效率、成本减少样板代码的编写二、泛型的分类泛型类泛型方...原创 2019-10-25 16:03:14 · 252 阅读 · 0 评论 -
Kotlin 笔记:密封类与代数数据类型
一、密封类Kotlin 类开放性排序普通类(不加修饰符,不能继承,默认是 final 的)密封类(sealed 修饰符,有条件继承)开放类(open 修饰符,无条件继承)密封类的限制可以继承,但只能在当前文件继承在本类内继承在类外被同级类继承(不能在一个同级类的内部被继承)sealed class A { class B: A() // OK, B is no...原创 2019-09-29 13:19:46 · 330 阅读 · 0 评论 -
Kotlin 笔记:内部类与嵌套类
与 Java 的关系:kotlinJava嵌套类静态内部类内部类内部类嵌套类:一个直接在其他类内部声明的类是嵌套类。Java 比较开放,默认情况下,认为这个嵌套类可以访问外部类。Kotlin 比较封闭,默认情况下,认为这个嵌套类不能访问外部类。Kotlin 希望默认情况(不作特)下,两个类是没有关系的,所以在一个class Outer { p...原创 2019-09-27 15:25:14 · 168 阅读 · 0 评论 -
双拼、kotlin、依赖倒置
最近在练习用双拼打字。双拼,即每个字都用两个键打出来。比如,“中国”这两个字,用全拼打出来的话,需要按的键是:z、h、o、n、g、g、u、o。如果是双拼(以小鹤双拼为例),就是v、s、g、o。这相当于很多的快捷键,一个键可以代表多个字母:v(zh)、s(ong)、g(g)、o(uo)。按键少了,速度自然更快,字的匹配度也会变高。只是这些快捷键的记忆需要练习。这种将汉字分为 声母 +...原创 2019-09-24 10:33:54 · 167 阅读 · 0 评论 -
Kotlin 笔记:集合和数组
集合的可空性集合的可空性包括两个方面,集合本身的可空性和集合元素的可空性。List<Int>? :List 本身可空,List 的元素不可空List<Int?> :List 本身不可空,List 的元素可空List<Int?>? :List 本身可空,List 的元素也可空有一个实用方法 filterNotNull,可以遍历一个包含可空值的集合并过滤掉...原创 2018-10-27 00:19:08 · 1468 阅读 · 0 评论 -
Kotlin 笔记:运算符重载及其他约定
在 Kotlin 中,如果一个类定义了一个名为 plus 的函数,那就可以在该类的实例上使用 + 运算符。这种技术称为约定。下面看看 Kolint 中约定的使用。重载算术运算符重载二元算术运算符data class Point(val x: Int, val y: Int) { operator fun plus(other: Point): Point { ret...原创 2018-10-29 15:34:58 · 349 阅读 · 0 评论 -
Kotlin 笔记:基本数据类型和其他数据类型
基本数据类型:Int、Boolean 及其他整数类型——Byte、Short、Int、Long浮点数类型——Flost、Double字符类型——char布尔类型——Boolean在底层,像 Int 这样的 Kotlin 类型,会编译成 Java 对应的基本数据类型,因为两者都不能存储 null 值。反过来也一样,Java 的基本数据类型会被当做非空类型(而不是平台类型),因为他们都...原创 2018-10-25 17:24:19 · 628 阅读 · 0 评论 -
kotlin 笔记:lambda 表达式
lambda 的语法 {x: Int, y: Int -&gt; x + y} 即,花括号包围着参数和函数体如果函数的最后一个参数是lambda,调用时可以将其放在圆括号外。如果函数的唯一一个参数是lambda,调用时可以省略圆括号。如果lambda的参数类型可以被推导出来,可以不用显示地指定。如果lambda只有一个参数,可简化为 it。val max...原创 2018-06-27 00:49:49 · 383 阅读 · 0 评论 -
kotlin 笔记:Object 关键字
Object 关键字kotlin 中的 object 关键字用来创建一个对象,它的使用场景:对象声明伴生对象对象表达式对象声明对象声明用来创建单例。与类一样,一个对象的声明也可以包含属性、方法、初始化语句块等声明。唯一不同在于对象没有构造方法(主和从)。因为对象声明在定义的时候就立即创建了,不需要构造函数。可以在类外部,也可以在类内部生成单例对象,但不能在 fu...原创 2018-06-26 16:19:10 · 830 阅读 · 0 评论