美文网首页
每天三分钟了解Kotlin的秘密:1.基础入门(3)

每天三分钟了解Kotlin的秘密:1.基础入门(3)

作者: 李良逸 | 来源:发表于2019-08-19 18:59 被阅读0次

    集合

    在 Java10 之前,集合迭代的方式之一是:

        for (String item : items) {
            println(item)
        }
    

    而 Kotlin 具有类型推断的特性,不需要声明迭代元素类型,使用示例如下:

        for (item in items) {
            println(item)
        }
    

    在 Java10 中,新增了类型推断特性,使用示例如下:

        for (var item : items) {
            println(item)
        }
    

    但是相比之下,Kotlin 的写法设计更加简洁,并且 Kotlin 的类型推断要更灵活,而 Java10 的类型推断只适用于局部变量,不适用于类成员变量等。

    Kotlin 也支持使用 lambda 表达式进行集合操作:

        val fruits = listOf("banana", "avocado", "apple", "kiwifruit")
    
        fruits
          .filter { it.startsWith("a") }
          .sortedBy { it }
          .map { it.toUpperCase() }
          .forEach { println(it) }
    

    打印如下:

    APPLE
    AVOCADO
    

    区间

    Kotlin 中可以使用 in 关键字判断数字是否在区间内,一个判断x是否在 1-10 区间内的判断示例如下:

        val x = 10
        val y = 9
        if (x in 1..y+1) {
            println("fits in range")
        }
    

    打印为:

    fits in range
    

    还可以使用 !in 关键字判断数字是否在区间外:

        val x = 10
        val y = 9
        if (x !in 1..y+1) {
            println("fits in range")
        }
    

    区间还适用于集合迭代中:

        for (x in 1..5) {
            print(x)
        }
    

    打印为:

    12345
    

    创建类实例

    在 Java 中创建类的实例,需要使用 new 关键字:

        Rectangle rectangle = new Rectangle(5.0, 2.0);
        Triangle triangle = new Triangle(3.0, 4.0, 5.0);
    

    而在 Kotlin 中,类实例的创建不再需要使用 new 关键字:

        val rectangle = Rectangle(5.0, 2.0) 
        val triangle = Triangle(3.0, 4.0, 5.0)
    

    为什么 Kotlin 不再使用 new 关键字?

    当我们调用一个函数时,使用示例如下:

        override fun initView() {
            setupToolbar(toolbar)
        }
        
        fun setupToolbar(toolbar: Toolbar){
        }
    

    而类的构造函数同样也是一个函数,在 Kotlin 的写法设计上,他们之间的区别更小。

    相关文章

      网友评论

          本文标题:每天三分钟了解Kotlin的秘密:1.基础入门(3)

          本文链接:https://www.haomeiwen.com/subject/dyiesctx.html