美文网首页Kotlin
Kotlin-类型转换

Kotlin-类型转换

作者: YungFan | 来源:发表于2022-05-16 17:00 被阅读0次

    空安全类型

    • 在实际开发中,会经常碰到空值的情况,空值在 Kotlin 中表示为null
    • 在 Kotlin 中,默认情况下,不允许将变量或者常量设置为null,只有声明成空安全类型才可以。

    定义

    // 在类型后面加个?
    var str: String? = "Hello Kotlin"
    str = null
    

    取值

    • ?::非空直接返回,为空返回后面的值。
    var str: String? = "This is a String"
    val ret = str ?: "default value"
    println(ret)
    
    str = null
    val ret2 = str ?: "default value"
    println(ret2)
    
    • !!:强制取值,非空直接返回,为空报错。
    var str: String? = "This is a String"
    val ret = str!!
    println(ret)
    
    str = null
    val ret2 = str!! // 报错
    

    基本类型

    • Kotlin 支持隐式转换即较大的类型可以隐式转换为较小的类型,但反过来较小的类型不能隐式转换为较大的类型。
    • 所有数字类型都支持转换为其他类型。
    toByte(): Byte
    toShort(): Short
    toInt(): Int
    toLong(): Long
    toFloat(): Float
    toDouble(): Double
    

    字符串模板

    字符串可以包含模板表达式,会求值并把结果合并到字符串中。模板表达式以美元符$开头。

    val str = "Hello"
    // 单个值
    println("$str world")
    // 表达式
    println("${str.uppercase()}")
    

    类型判断与转化

    • 使用is或者!is在运行时检测对象是否符合给定类型。
    • 使用as后者as?进行类型转换,后者返回的是空安全类型。
    val str = "Hello Kotlin"
    
    // 类型判断
    println(str is String)
    println(str !is String)
    
    // 类型转换
    str as Int // 运行时报错
    str as? Int
    

    相关文章

      网友评论

        本文标题:Kotlin-类型转换

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