![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Kotlin
文章平均质量分 70
Kotlin
胡椒粉0121
这个作者很懒,什么都没留下…
展开
-
Kotlin 空类型安全
放大舒服原创 2021-12-27 20:55:25 · 841 阅读 · 0 评论 -
Kotlin 扩展
Kotlin 能够扩展一个类的新功能而无需继承该类或者使用像装饰者这样的设计模式,并且对被扩展的类代码本身不会造成任何影响。扩展函数可以为已经存在的类添加新的方法,并且不会修改原来的类。例如,你可以为一个你不能修改的、来自第三方库中的类编写一个新的函数。 这个新增的函数就像那个原始类本来就有的函数一样,可以用普通的方法调用。 这种机制称为扩展函数。也有扩展属性, 允许你为一个已经存在的类添加新的属性。扩展是静态解析的扩展不能真正的修改他们所扩展的类。通过定义一个扩展,你并没有在一...原创 2021-11-23 20:23:52 · 2065 阅读 · 0 评论 -
Kotlin 类的接口
Kotlin 的接口可以既包含抽象方法的声明也包含实现。与抽象类不同的是,接口无法保存状态。它可以有属性但必须声明为抽象或提供访问器实现。定义接口使用关键字interface来定义接口interface MyInterface { fun bar() fun foo() { // 可选的方法体 }}实现接口一个类或者对象可以实现一个或多个接口。class Child : MyInterface { override fun..原创 2021-11-23 19:48:13 · 2328 阅读 · 0 评论 -
Kotlin 类的继承
在 Kotlin 中所有类都有一个共同的超类Any,这对于没有继承其他父类的超类型声明的类是默认超类:class Example // 从 Any 隐式继承Any有三个方法:equals()、hashCode()与toString()。因此,为所有 Kotlin 类都定义了这些方法。默认情况下,Kotlin 类是最终(final)的:它们不能被继承。 要使一个类可继承,请用open关键字标记它。open class Base // 该类开放继承如需继承某个类,父类需加(...原创 2021-11-16 14:43:16 · 2173 阅读 · 0 评论 -
Kotlin 控制流语句
If 表达式在 Kotlin 中,if是一个表达式,即它会返回一个值。 因此就不需要三元运算符(条件 ? 然后 : 否则),因为普通的if就能胜任这个角色。// 传统用法var max = a if (a < b) max = b// With else var max: Intif (a > b) { max = a} else { max = b} // 作为表达式val max = if (a > b) a else bif的...原创 2021-10-12 20:28:24 · 89 阅读 · 0 评论 -
Kotlin 基本语法
包的定义与导入包的声明应处于源文件顶部:package org.examplefun printMessage() { /*……*/ }class Message { /*……*/ }// ……源文件所有内容(无论是类还是函数)都包含在声明的包内。 所以上例中printMessage()的全名是org.example.printMessage, 而Message的全名是org.example.Message。如果没有指明包,该文件的内容属于无名字的默认包。默认导入...原创 2021-10-12 17:13:53 · 122 阅读 · 0 评论 -
Kotlin 类与对象(类的定义)
原创 2021-10-12 15:10:10 · 388 阅读 · 0 评论 -
Kotlin 序列
序列概述与使用环境除了集合之外,Kotlin 标准库还包含另一种容器类型——序列(Sequence<T>)。 序列提供与Iterable相同的函数,但实现另一种方法来进行多步骤集合处理。当Iterable的处理包含多个步骤时,它们会优先执行:每个处理步骤完成并返回其结果——中间集合。在此集合上执行以下步骤。反过来,序列的多步处理在可能的情况下会延迟执行:仅当请求整个处理链的结果时才进行实际计算。操作执行的顺序也不同:Sequence对每个元素逐个执行所有处理步骤。 反过...原创 2021-10-12 14:54:18 · 247 阅读 · 0 评论 -
Kotlin 数组类型
Kotlin的数组和Java数组的区别数组在Kotlin中使用Array类来表示,Kotlin的数组Array类中定义了get、set函数以及size(相当于java数组的length)的属性数组的创建方式一般创建数组,直接使用arrayOf(),就可以创建一个数组val a = arrayOf(1, 2, 3)val b = IntArray(3, { it + 1 })val c = arrayOf("shenzhen", "guagnzhou")c[1] = "beij.原创 2021-10-09 16:34:11 · 1330 阅读 · 0 评论 -
Kotlin基本数据类型
Kotlin五个基本数据类型Kotlin声明变量和常量Kotlin中使用val声明只读变量(常量),使用var声明可读写变量(变量)val a: string = 'Hello Kotlin'容易混淆的Long类型标记Kotlin的数值类型转换如果需要进行转换,可以使用如下方法:val f: Long = e.toLong()...原创 2021-10-09 15:45:02 · 864 阅读 · 0 评论 -
Gradle工程结构简介
Gradle是什么Gradle是一个灵活高效且支持多语言多平台的构建工具Gradle 是以 Groovy 语言为基础,面向Java应用为主。基于DSL(领域特定语言)语法的自动化构建工具。安装Gradle方式一:直接下载解压方式二:通过报管理工具进行安装SDKMAN:sdk install gradle Homebrew:brew install gradle方式三:Gradle Wrapper 每个Gradle工程都可以灵活配置Gradle版本 无需手动下载原创 2021-10-08 19:10:14 · 318 阅读 · 0 评论 -
Kotlin 的函数
函数的基本概念函数的基本用法函数的定义其中Unit等价于Java的void函数返回值为Unit,可省略。函数的参数列表如果是多个参数的话使用逗号分隔。方法 & 函数方法可以认为是函数的一种特殊类型,从形式上,有receiver的函数即为方法函数的引用匿名函数LambdaSAM转换高阶函数常见的高阶函数函数式编程...原创 2021-10-11 21:09:53 · 218 阅读 · 0 评论 -
Kotlin 集合框架
与Java对比,有什么不同对比Java,Kotlin只是增加了"不可变"集合框架的接口,没有另起炉灶,复用Java API的所有实现类型。提供了丰富易用的方法,例如forEach/map/flatMap。Scala也是一门JVM语言,Kotlin很多特性都参考了Scala。运算符级别的支持,简化集合框架的访问。Java中的类型 Kotlin中的只读类型 Kotlin中的可变类型 Iterator<T> Iterator<T> Mutable原创 2021-10-11 00:33:28 · 515 阅读 · 0 评论 -
Kotlin 区间
区间的创建通过..创建闭区间,包含起止值val intRange = 1..10 // [1,10]val charRange = 'a'..'z' // ['a','z']val longRange = 100L..10000L // [100L,10000L]val floatRange = 1f..10f // 不可数的区间,无法遍历val doubleRange = 2.0..10.0 // 不可数的区间,无法遍历println(intRange.joinToStr..原创 2021-10-09 17:36:51 · 296 阅读 · 0 评论 -
Kotlin开发环境的搭建
IDEA 搭建开发环境Android Studio 搭建开发环境3.0开始内置Kotlin插件,无需安装,工程创建引导只支持Android工程,支持IntelliJ IDEA 创建的工程,可以直接运行想要让Android工程支持Kotlin只需要在Gradle中添加Kotlin编译插件和Kotlin标准库依赖Eclipse 搭建开发环境Compiler 搭建开发环境手动下载:下载解压即可使用,在kotlin的官网上打开compiler的GitHub的...原创 2021-02-18 15:22:24 · 1007 阅读 · 0 评论