zoukankan      html  css  js  c++  java
  • Kotlin的基础知识

    当某个变量的值可以为 null 的时候,必须在声明处的类型后添加 ? 来标识该引用可为空。

    如果 str 的内容不是数字返回 null

    fun parseInt(str: String): Int? {
        // ……
    }

    is 运算符检测一个表达式是否某类型的一个实例。 如果一个不可变的局部变量或属性已经判断出为某类型,那么检测后的分支中可以直接当作该类型使用,无需显式转换:

    fun getStringLength(obj: Any): Int? {
        if (obj is String) {
            // `obj` 在该条件分支内自动转换成 `String`
            return obj.length
        }
    
        // 在离开类型检测分支后,`obj` 仍然是 `Any` 类型
        return null
    }
    或者
    fun getStringLength(obj: Any): Int? {
        if (obj !is String) return null
    
        // `obj` 在这一分支自动转换为 `String`
        return obj.length
    }
    或者
    fun getStringLength(obj: Any): Int? {
        // `obj` 在 `&&` 右边自动转换成 `String` 类型
        if (obj is String && obj.length > 0) {
          return obj.length
        }
    
        return null
    }

    使用for 循环

    val items = listOf("apple", "banana", "kiwifruit")
    for (item in items) {
        println(item)
    }

    while  循环

    val items = listOf("apple", "banana", "kiwifruit")
    var index = 0
    while (index < items.size) {
        println("item at $index is ${items[index]}")
        index++
    }

    when 使用

    fun describe(obj: Any): String =
        when (obj) {
            1          -> "One"
            "Hello"    -> "Greeting"
            is Long    -> "Long"
            !is String -> "Not a string"
            else       -> "Unknown"
        }

    使用 in 运算符来检测某个数字是否在指定区间内:

    val x = 10
    val y = 9
    if (x in 1..y+1) {
        println("fits in range")
    }
  • 相关阅读:
    创建pycharm项目时项目解释器的选择
    chrome插件网站
    在chrome中屏蔽百度推荐
    annotation使用示例
    scala编程第16章学习笔记(3)——List类的高阶方法
    Eclipse常用快捷键
    Ubuntu常用命令
    scala编程第16章学习笔记(2)
    scala编程第16章学习笔记(1)
    scala编程第15章
  • 原文地址:https://www.cnblogs.com/xiaoniuniu886/p/9808764.html
Copyright © 2011-2022 走看看