传递null安全性时如何在Kotlin中传递值以显示结果而不会崩溃

时间:2019-06-06 15:04:21

标签: kotlin kotlin-android-extensions

我刚开始通过将两个数字相加开始在android studio中开始kotlin。 假设第二个数字作为null传递,如何实现将其视为0。

这是代码。

fun addition(n:Int?,n1:Int?):Int{
        return (n?: 0)+ n1!!
    }

案例1 :(成功)

addition(null,5)

这显示为5.//更正

情况2 :(崩溃)->失败

addition(5,null)

在情况2中,它崩溃了。我尝试添加return(n ?: 0)+ n1?,但是它将编译错误显示为类型不匹配。

2 个答案:

答案 0 :(得分:3)

您可以这样做:

fun addition(n:Int?,n1:Int?):Int = (n ?: 0) + (n1 ?: 0)

答案 1 :(得分:2)

将它们保存为两个值:

fun sum(n: Int?, n1: Int?): Int {
        val a1 = n ?: 0
        val a2 = n1 ?: 0

        return a1 + a2
    }