kotlin
kotlin
姜小迪
冲冲冲
今天不学习
明天倒垃圾
展开
-
Kotlin学习历程
原创 2021-07-06 12:21:10 · 68 阅读 · 0 评论 -
kotlin基本语法
申明变量编译时常量内置函数类型条件语句String模板原创 2021-06-09 20:12:13 · 98 阅读 · 2 评论 -
Kotlin函数
函数头函数参数(1)默认值参数(2)具名函数参数Unit函数Nothing函数反引号中的函数名匿名函数(1)匿名函数与隐式返回(2)匿名函数参数(3)it关键字(4)匿名函数类型推断(5)lambda表达式(6)定义参数是函数的函数(7)简写(8)函数内联1.函数头定义函数方法的基本形式2.函数参数(1)默认值参数...原创 2021-06-22 16:49:08 · 605 阅读 · 0 评论 -
函数式编程
函数类别变换(1)map(2)flatMap过滤1.函数类别通常由三大类函数构成:变换transform、过滤filter、合并combine每类函数都是针对集合数据类型设计函数式编程设计理念就是 不可变数据的副本在链上间传递2.变换变换函数会遍历集合内容用一个值参形式传入变换器函数,变换每一个元素,然后返回已修改元素的集合(1)mapfun main() { val animals = listOf("zebra", "giraffe", "elephant".原创 2021-07-06 12:17:17 · 95 阅读 · 0 评论 -
null安全与异常
可空性安全调用操作符带有let的安全调用非空断言操作符1.可空性除非另有规定,否则变量不可为null值 val str = 111 //报错 str = null println(str)?表明参数可空// 在参数类型后面加 ? 表明这是一个可空类型变量 var str : String? = "111" //报错 str = null println(str)2.安全调用操作符Kotlin区分可.原创 2021-06-23 21:22:01 · 196 阅读 · 0 评论 -
Kotlin容器
List创建于元素获取mutator函数遍历集合解构Set集合List转Set 去重数组类型Map集合1.List创建于元素获取允许有重复元素list集合也分为可变与不可变 //不可变集合 val listOf = listOf<String>("Jason", "Jack", "Ross")// listOf[3] 报错 索引异常 println(listOf.getOrElse(3){"index null"}) //如果没有则返回.原创 2021-06-28 09:43:08 · 130 阅读 · 0 评论 -
类与对象与接口
定义类(1)field(2)计算属性(3)防范竞态条件初始化1.定义类(1)field针对定义的每一个属性,Kotlin都会产生一个field,一个getter,一个setterfield用来存储属性数据,不能直接对field操作,只暴露给getter、setter方法使用getter()方法决定如何读取数据setter()方法决定如何给属性赋值只有可变属性才有setter方法,但是Kotlin提供默认的getter、setter,依然可以自定义getter()setter()方.原创 2021-07-06 12:18:43 · 174 阅读 · 0 评论 -
Kotlin泛型
定义泛型类泛型函数泛型类型约束1.定义泛型类泛型类的构造函数可以接受任意类型泛型参数由放在一对<>里的字母T表示class Magic <T>(item : T){ private var subject :T = item}class Boy(val name : String,val age : Int)class Dog(val weight:Int)fun main() { val magic1 : Magic<Boy&g.原创 2021-07-06 12:18:35 · 93 阅读 · 0 评论 -
Kotlin扩展函数
定义扩展函数1.定义扩展函数扩展可以在不直接修改类定义的情况下增加类功能,扩展可以用于自定义类也可以用于标准库里的其他类。和继承相似,扩展也能共享类的行为在无法接触某个类的定义或者某个类没有使用open导致无法继承时,扩展就是选择// 给String添加扩展函数fun String.addExt (amount : Int = 1) : String{ return this + "!".repeat(amount)}fun Any.easyPrintln() = prin.原创 2021-07-06 12:18:24 · 302 阅读 · 0 评论 -
Java与Kotlin互操作
互操作与可空性类型映射属性访问@JvmName@JvmField@JvmOverloads@JvmStatic@Throws1.互操作与可空性kotlin调用java方法,有可能得到null值//javapublic class Jhava { @NonNull //一定不为空 public String utterGreeting(){ return "Hello"; } @Nullable //可能为空 publi.原创 2021-07-06 12:16:32 · 126 阅读 · 0 评论