随笔分类 - Kotlin-基础知识
记录Kotlin相关的基础知识
摘要:Kotlin基础知识_12-泛型的高级特性-协变&逆变&实化 泛型对于每个开发者而言并不陌生,平时在项目中会经常见到,但是有很多小伙伴们,每次见到通配符 ? extends ,? super,out,in 都傻傻分不清楚它们的区别,以及在什么情况下使用。 通过这篇文章将会学习的到以下内容: 为什么要
阅读全文
摘要:Kotlin基础知识_11-中缀表达式 - infix 1. 中缀表达式 中缀表达式是 Kotlin 中另一个有趣的语法糖。在 Kotlin 中,我们可以使用 infix 关键字将某个函数标记为中缀函数。这意味着我们可以在函数名和参数之间省略点号和括号。 例如,下面的代码展示了如何使用中缀表达式:
阅读全文
摘要:Kotlin基础知识_10-泛型和委托 1. 泛型 1.1 泛型类与泛型方法 泛型类 class HttpResponse<T> { fun parseResponse(inputValue: T): T { return inputValue } } fun main() { val httpRe
阅读全文
摘要:Kotlin基础知识_09-高阶函数的应用 vararg&Any 1. 简化 SharedPreferences API 日常写法: val sp = getSharedPreferences("data", MODE_PRIVATE) val editor = sp.edit() editor.p
阅读全文
摘要:Kotlin基础知识_08-高阶函数&内联函数&inline&noinline&crossinline 1. 高阶函数 kotlin中的高阶函数允许传入的函数体来决定函数的执行结果。当需要调用一个高阶函数时,调用方式分为两种: 使用函数引用的方式去调用; 使用Lambda表达式的方式去调用; 1.1
阅读全文
摘要:Kotlin基础知识_07-扩展函数&运算符重载 1. 扩展函数 可以为指定的类添加新的API,以扩展当前类的功能: ex 计算指定字符串中字母的个数: fun String.calculateLetterNum(): Int { var num = 0 for (c in this) { if (
阅读全文
摘要:Kotlin基础知识_06-变量延迟初始化&密封类 1. 使用 lateinit 关键字对变量进行延迟初始化 之前有介绍过, kotlin 不能很好的判断全局变量是否为null的情形,比如下面的code: private var name: String? = null fun updateName
阅读全文
摘要:Kotlin基础知识_05-Kotlin标准库函数&静态方法 1. 标准库函数 let(), with(), run(), apply(), repeat() Kotlin的标准库函数类似于C语言的标准库函数,在任意的位置均能调用。 1.1 let() 以调用的对象本身作为block函数块的参数,并
阅读全文
摘要:Kotlin基础知识_04-字符串内嵌表达式&函数参数默认值 1. 字符串内嵌表达式 Kotlin简化了表达式的拼接,如java中的下列写法: String brand = "Samsung"; double price = 1299.99; System.out.println("Cellphon
阅读全文
摘要:Kotlin基础知识_03-空值检查 1. 可空类型 Kotlin默认所有的参数和变量均都不可为空,如下面的code在编译时会报错: 提示 test()方法不能输入空类型。 若要允许输入的类型为空,可以在类名的后面加上一个问号。比如,Int表示不可为空的整型,而Int?就表示可为空的整型;Strin
阅读全文
摘要:Kotlin基础知识_02-Lambda编程 1. 集合(list, set, map)的创建与遍历 1.1 创建list kotlin 支持以下两种方式创建集合: val list = ArrayList<String>() list.add("Apple") list.add("Banana")
阅读全文
摘要:Kotlin基础知识-01-类_对象 1. 创建类并赋值 class Person { var name = "" var age = 0 fun eat() { println(name + " is eating. He is " + age + " years old.") } } fun m
阅读全文