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")
    }
  • 相关阅读:
    火车票起售时间
    java基础知识
    java运行
    123
    1233
    那些不能错过的XCode插件
    那些不能错过的XCode插件
    如何正确的在Android中存储特定应用文件
    如何正确的在Android中存储特定应用文件
    问题解决:listview多次调用addHeaderView和addFooterView
  • 原文地址:https://www.cnblogs.com/xiaoniuniu886/p/9808764.html
Copyright © 2011-2022 走看看