第三章函数的定义与调用

从这之后,我将带你真正翱翔在Kotlin之中。
本章的重要环节:函数的声明和调用。除此之外,还将研究如何通过扩展函数将Java库转换为Kotlin风格,以在混合语言的项目中获得Kotlin的全部好处。
本章将把Kotlin集合、字符串和正则表达式作为重点问题领域。

3.1在Kotlin中创建集合

在开始讲解对集合的各种有趣的操作之前,先来学习怎么样创建它们。前面的章节有使用setOf函数创建一个set。其实,在保持它简单的同时,它还支持数字。

val set = hashSetOf(7, 8, 1, 0)

也可以使用类似的方法创建一个list或者map:

val list = arrayListOf(7, 8, 1, 0)
val map = hashMapOf(7 to "seven", 8 to "eight", 1 to "one", 0 to "zero")
>>>println(set.javaClass)
class java.util.HashSet
>>>println(list.javaClass)
class java.util.ArrayList
>>>println(map.javaClass)
class java.util.HashMap

to并不是一个特殊的结构,而是一个普通函数。是什么,以后我再告诉你。
Kotlin没有采用自己的集合类,而是采用的标准的Java集合类,也就是已经掌握的所有Java集合的知识,在Kotlin中依然适用。
而Kotlin为何没有自己专门的集合类呢,是因为适用标准的Java集合类,Kotlin可以更容易地与Java代码交互。当从Kotlin中调用Java函数的时候,不用转换它的集合类来匹配Java的类,反之亦然。
尽管Kotlin的集合类和Java的集合类完全一致,但你以为Kotlin就只有这样么,还是年轻:

val strings = listOf("a", "b", "c")
//获取strings的最后一个元素
>>>println(strings.last())
>c
val numbers = setOf(7, 8, 1, 0)
//获取numbers数字列表的最大值
>>>println(numbers.max())
>8

目前先保持采用Java标准的集合类,之后再了解集合类在Kotlin类型系统中的表示。

猜你喜欢

转载自blog.csdn.net/qq_26413249/article/details/80358202