kotlin基础
文章平均质量分 77
m0_47914176
这个作者很懒,什么都没留下…
展开
-
Kotlin基础 java与Kotlin互相操作
一.Kotlin调用java1.调用java可空属性Java世界里所有对象都可能是nu当一个Kotlin函数返回String类型值,你不能想当然地认为它的返回值就能符合Kotlin关于空值的规定。fun main() { val jhava = Jhava() //平台类型 val nullss = jhava.nullss val stringss = jhava.strings //这里用了java的属性,因为java...原创 2021-12-13 18:04:24 · 1549 阅读 · 0 评论 -
Kotlin基础 函数式编程
一个函数式应用通常由三大类函数构成:变换transform、过滤filters合并combineo每类函数都针对集合数据类型设计,目标是产生一个最终结果。函数式编程用到的函数生来都是可组合的,也就是说,你可以组合多个简单函数来构建复杂的计算行为。一.变换变换是函数式编程的第一大类函数,变换函数会遍历集合内容,用一个以值参形式传入的变换器函数,变换每一个元素,然后返回包含已修改元素的集合给链上的其他函数。最常用的两个变换函数是ma...原创 2021-12-13 16:07:04 · 1547 阅读 · 0 评论 -
Kotlin基础 扩展
一.扩展函数1.定义普遍扩展函数 扩展可以在不直接修改类定义的情况下增加类功能,扩展可以用于自定义类,也可以用于比如List、String,以及Kotlin标准库里的其他类。和继承相似,扩展也能共享类行为,在你无法接触某个类定义,或者某个类没有使用open修饰符,导致你无法继承它时,扩展就是增加类功能的最好选择。//自定义扩展函数,在String后面拼接!fun String.addExt(amount :Int =1)=this+"!".repeat(am...原创 2021-12-13 14:38:07 · 1358 阅读 · 0 评论 -
Kotlin基础 泛型
一.泛型类1.定义 泛型类的构造函数可以接受任何类型。 // 泛型class MagicBox<T>(item : T) { var available =false; private var subject:T =item }class Box(val name:String,val age:Int)class Man(val name:String,val age:Int)...原创 2021-12-08 17:23:54 · 120 阅读 · 0 评论 -
Kotlin基础 对象与类、接口
一.对象1.object关键字 使用object关键字,你可以定义一个只能产生一个实列的类-单例1.对象声明 对象声明有利于组织代码和管理状态,尤其是管理整个应用运行生命周期内的某些一致性状态。//object 表示单例object ApplicationSingle { init { print("ApplicationSingle") } fun setMatt...原创 2021-12-08 14:13:06 · 160 阅读 · 0 评论 -
Kotlin基础 定义类与初始化、继承
一.定义类1.field 针对你定义的每一个属性,Kotlin都会产生一个field,一个getter,以及一个setter,field用来存储属性数据,你不能直接定义field,Kotlin会封装field,保护它里面的数据,只暴露给getter和setter使用。属性的getter方法决定你如何读取属性值,每个属性都有getter方法,setter方法决定你如何给属性赋值,所以只有可变属性才会有setter方法,尽管Kotlin会自动提供默认的getter和se...原创 2021-12-05 15:38:19 · 689 阅读 · 0 评论 -
Kotlin基础 常用集合List、Set、Map的使用
集合是我们常用的一种数据结构,可以作为值传给函数,和我们学过的其他变量类型一样,List、Set、Map的类型分为两类,只读和可变。一.List集合1.List创建与元素获取 getOrElse是一个安全索引取值函数,他需要两个参数,第一个是索引值,第二个是能提供默认值的lambda表达式,如果索引值不存在的话,可用来代替异常。 getOrNull是Kotlin提供的另一个安全索引取值函数,它返回null...原创 2021-12-03 17:21:42 · 725 阅读 · 0 评论 -
Kotlin基础 字符串操作与数字类型转换、标准库函数
一.String操作1.substring 字符串截取,substring函数支持IntRange类型(表示一个整数范围的类型)的参数,until创建的范围不包括上限值(包前不包后)。const val NAMES="jack,xiao,jason"fun main() { //包前不保后 val substring = NAMES.substring(0 until 3) pr...原创 2021-12-02 15:55:05 · 2750 阅读 · 0 评论 -
Kotlin基础 空安全与异常
一. 空安全 1.null Kotlin会把可能出现null问题,在编译时以报错的方式,提前在编译期强怕我们重视起来,而不是等到运行时报错,防范于未然。2.Kotlin的null类型 在Kotlin中我们可以这样来定义空类型。//想要把属性设置为空需要在类型处加? var str:String?= readLine() str=null println("input:$str")3.空安全 ...原创 2021-11-27 17:29:01 · 1179 阅读 · 0 评论 -
Kotlin基础 匿名函数与函数类型
一.匿名函数 1.写法 定义时不取名字的函数,我们称之为匿名函数,匿名函数通常会将整体传递给其他的函数,或者从其他函数返回。 匿名函数对Kotlin来说很重要,我们能根据需要制定特殊规则的函数。 //判断里面有多少个s val totals: Int = "PanamaCanal".count() { letter -> letter == 'n' }...原创 2021-11-27 16:13:08 · 412 阅读 · 0 评论 -
Kotlin基础 变量定义、条件语句、函数
kotlin是一个用于现代多平台应用的静态编程语言,支持多平台编程是科特林的主要优势之一。它减少了为不同平台编写和维护相同代码的时间,同时保留了本地编程的灵活性和优势,最后Kotlin已成为Android的官方发开语言。一.变量1.变量声明 // val定义关键字 s变量名字 String变量类型 = 赋值运算符 1234567赋值 val s : String = "1234567"; 2.Kotlin内置数据类型3.只读变...原创 2021-11-20 16:53:58 · 2497 阅读 · 0 评论 -
Kotlin generateSequence()序列构造函数
一般针对某个序列,你可能会定义一个只要序列有新值产生就被调用一下的函数,这样的函数叫迭代器函数。generateSequence 函数接受一个初始种子值作为序列的起步值,在用generateSequence 定义的序列上调用一个函数时,generateSequence 函数会调用你指定的迭代器函数,决定下一个要生产的值。1.我们先来个运算扩展函数// 这方法为Int的扩展函数fun Int.isPrime():Boolean{ //从2为起始数到本身的循环 (2 un...原创 2021-09-15 15:23:57 · 508 阅读 · 0 评论