Kotlin 使用null参数调用方法
在java中,我们可以调用方法Kotlin 使用null参数调用方法,kotlin,Kotlin,在java中,我们可以调用方法aMethod(val1,val2) 使用classObject.aMethod(如果Val1不可用,则为null,val2) 在方法内部,我将检查val1是否为null 我将初始化它 如何在Kotlin做同样的事情。 我试过了,但它说Null不能是非Null类型的值您可以使用默认值: fun aMethod(val1: String = "default value", val2: String) 现在可以使用默认方法,如下所示: classObject.aMe
aMethod(val1,val2)
使用classObject.aMethod(如果Val1不可用,则为null,val2)
在方法内部,我将检查val1是否为null
我将初始化它
如何在Kotlin做同样的事情。
我试过了,但它说Null不能是非Null类型的值您可以使用默认值:
fun aMethod(val1: String = "default value", val2: String)
现在可以使用默认方法,如下所示:
classObject.aMethod(val2 = "val2")
这样试试看
fun printHello(name: String?): Unit {
if (name != null)
println("Hello ${name}")
else
println("Hi there!")
// `return Unit` or `return` is optional
}
按您的意愿返回类型。避免
?
在数据类型允许空值之后。请参阅Kotlin对零位安全的强调。如果希望属性/返回类型/参数/局部变量为null,则必须使用,方法是在类型末尾添加问号
e、 g
因此,为了使代码正常工作,您只需指定函数aMethod
采用可空类型:
fun aMethod(val1: SomeType?, val2) {
//...
}
但是,在kotlin中,不建议在此处使用null。我们有更好的办法来处理你的情况。我们使用默认参数,正如nhaarman所建议的那样
fun aMethod(val1: SomeType = someDefaultValue, val2: OtherType) {
//...
}
aMethod(val2 = OtherType())
或者交换
val1
和val2
,因此无需使用命名参数。在Kotlin语言参考中,这一点已明确涵盖:
fun aMethod(val1: SomeType = someDefaultValue, val2: OtherType) {
//...
}
aMethod(val2 = OtherType())