zoukankan      html  css  js  c++  java
  • kotlin之null值安全性

     var a: String =null // 编译错误
    var a: String? =null // 编译通过

    要允许null值, 需要将变量声明为可为null的字符串类型:String?

    fun main(arg: Array<String>) {
        var a: String? =null
        print(a?.length)
    }

    上面代码是安全调用,如果为null则返回为null

    Elcis操作符

    fun main(arg: Array<String>) {
        val b: String? = null
        val len: Int = if (b != null) b.length else -1
       
        val len2: Int = b?.length ?: -1   //Elvis操作符表示形式是 ?:  等同于上面语句
        print(len)
        print(len2)
    
    }

    !!操作符

      val b: String? = null
        val s = b!!.length
        print(s)

    如果b为null ,抛出NPE异常

    安全类型的转换

    fun main(arg: Array<String>) {
        val b: String? = null
        val s :Int?=b as? Int
        print(s)
    }

    如果转换失败则返回null

  • 相关阅读:
    C语言本身并不提供输入输出语句
    大数据
    kdd cup 论文
    决策树比较
    推荐系统
    geohash
    MySQLdb 安装
    天池大数据比赛
    逻辑回归
    矩阵分解
  • 原文地址:https://www.cnblogs.com/loaderman/p/10148912.html
Copyright © 2011-2022 走看看