
kotlin
文章平均质量分 89
三分钟Code
学习android体系
展开
-
如何理解Kotlin泛型中的in和out?
1.引言Kotlin中的泛型使用和java一样,但如果你使用的是kotlin语言开发,你会发现kotlin的泛型会多出两个关键字,分别是in和out。这两个关键字经常让人疑惑,它的字面意思是输入和输出,很难让人联想到java泛型的某个特性。实际上它们在java中是有对应关系的。2.java中的泛型通配符为了更好的理解in、out关键字的作用,我们需要对比java的泛型通配符来看。先定义一个类: public class Stack<E>{ void push(E e){..原创 2021-01-14 21:08:25 · 2509 阅读 · 1 评论 -
在Kotlin中使用lambda
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...原创 2018-11-07 23:20:41 · 605 阅读 · 0 评论 -
Kotlin委托模式入门
1.委托模式委托模式是软件设计模式中的一项基本技巧。简单来说,委托就是接收请求的一方将实现委托给了另一方,在Kotlin的语法结构中,使用by关键字可以直接支持委托模式,不需要编写样板代码。by关键字可以用在类和属性当中,分别表示类委托和属性委托。2.类委托先看一个java中使用委托模式的例子: interface Printer { void printSomething(String something); } static class PrinterD原创 2020-12-21 22:00:46 · 260 阅读 · 0 评论 -
Kotlin操作符重载入门
引言我们在对自定义类型编写添加、删除、比较等逻辑时,通常需要写很多冗余的代码,有时还需要构建新的对象来完成。在Kotlin中,我们可以借助“操作符重载”来改善程序逻辑,编写更加简洁和优雅的代码。以下是Kotlin中可以重载的操作符:使用操作符重载每个可重载的操作符都对应一个固定名字的函数,例如:“+”对应的函数是plus(),"-"对应的函数是minus(),要重载一个操作符,你需要在fun前面加上operator关键字,操作符重载有以下两种方式:1.使用成员函数重载:fun main() {原创 2020-12-21 21:56:28 · 318 阅读 · 0 评论 -
Kotlin内联函数入门
1.什么是内联函数使用高阶函数虽然不需要显示的声明对象,但在编译的时候每个入参的函数都会被编译成一个Function对象,这个过程(内存申请,函数出入栈等)会带来一定的性能开销。使用内联函数可以有效的消除这类的开销。内联函数是使用inline关键字声明的函数,在编译时,内联函数不会为参数创建一个函数对象,而是会将实现拷贝到调用的地方。考虑如下代码: fun main(vararg args:String) { for (i in 0 until 10){ sum(i,i+1)原创 2020-11-01 12:11:37 · 613 阅读 · 0 评论 -
Kotlin高阶函数入门
1.什么是高阶函数Kotlin中的高阶函数与数学中的高阶函数定义类似,在Kotlin中,高阶函数是将函数用作参数或返回值的函数。通常情况下,函数类型的实例化都用通过lambda表达式来展现。函数以类似 (A,B)->C 的结构声明,例如(Int) -> String表示接受一个类型为Int的参数,并返回一个String的函数。类似的有:(Int,Int)->Long , ()->Unit ,((Int, Int) -> Int)?2.高阶函数的使用2.1 函原创 2020-11-01 12:13:55 · 234 阅读 · 0 评论