温馨提示×

Kotlin非空类型如何与其他类型转换

小樊
82
2024-11-03 04:41:42
栏目: 编程语言

在 Kotlin 中,非空类型(Non-null types)是指那些不能为 null 的类型。为了将非空类型转换为其他类型,你需要使用安全调用操作符(safe call operator)?.。这个操作符允许你在一个可空对象上调用非空成员,如果对象为 null,则返回 null。

以下是一个示例,展示了如何将非空类型转换为其他类型:

fun main() {
    val nonNullString: String = "Hello, World!"
    
    // 将非空字符串转换为整数
    val intValue: Int? = nonNullString.toIntOrNull()
    
    // 检查转换是否成功
    if (intValue != null) {
        println("转换成功,整数值为:$intValue")
    } else {
        println("转换失败,字符串不能转换为整数")
    }
}

在这个示例中,我们首先创建了一个非空字符串 nonNullString。然后,我们使用 toIntOrNull() 扩展函数将其转换为整数。如果转换成功,intValue 将是一个非空整数,否则它将为 null。最后,我们检查 intValue 是否为 null,并相应地输出结果。

需要注意的是,如果你确定非空类型永远不会为 null,你可以直接使用非空断言操作符(non-null assertion operator)!!。这将告诉编译器你确定该值不为 null,如果值为 null,将抛出 NullPointerException。例如:

fun main() {
    val nonNullString: String = "Hello, World!"
    
    // 使用非空断言操作符将字符串转换为整数
    val intValue = nonNullString.toInt()
    
    println("整数值为:$intValue")
}

在这个示例中,我们使用 toInt() 函数将 nonNullString 转换为整数,并使用非空断言操作符 !! 告诉编译器我们确定该值不为 null。如果 nonNullString 为 null,程序将抛出 NullPointerException

0