Kotlin-空安全
Kotlin-Null Safety
嗯...问题是 --> “编写程序使用 'Elvis' 运算符和 '!!' 检查变量 x 和 y 的空值operator.需要完成函数nullable.如果不为null应该return字符串的长度,否则-1"
fun nullable(nullableString: String?): Int {
}
fun main(args: Array<String>) {
val str = readLine()!!
var result = -100
if(str=="null") {
result = nullable(null)
}else
result = nullable(str)
println(result)
}
fun nullable(nullableString: String?): Int {
return nullableString?.length ?: -1
}
基本上只是 return 输入长度使用 Elvis operator 或 -1
如果输入是 null
.
fun nullable(nullableString: String?): Int = nullableString?.length ?: -1
fun nullable(nullableString: String?, default: Int): Int {
return nullableString?.toIntOrNull() ?: default
}
fun main(args: Array<String>) {
val str = readlnOrNull()
val result = -1
println(nullable(str, result))
}
此处 'str' 变量接受值,而默认值为 -1 它 returns 默认为 -1 或 int 值,这是 Elvis 运算符 但你想要长度而不是值 所以这是解决方案
fun nullable(nullableString: String?, default: Int): Int {
return if (nullableString?.length == 0) {
default
} else {
nullableString?.length!! // !! is called the 'not-null assertion operator'
}
}
fun main(args: Array<String>) {
val str = readlnOrNull()
val result = -1
println(nullable(str, result))
}
嗯...问题是 --> “编写程序使用 'Elvis' 运算符和 '!!' 检查变量 x 和 y 的空值operator.需要完成函数nullable.如果不为null应该return字符串的长度,否则-1"
fun nullable(nullableString: String?): Int {
}
fun main(args: Array<String>) {
val str = readLine()!!
var result = -100
if(str=="null") {
result = nullable(null)
}else
result = nullable(str)
println(result)
}
fun nullable(nullableString: String?): Int {
return nullableString?.length ?: -1
}
基本上只是 return 输入长度使用 Elvis operator 或 -1
如果输入是 null
.
fun nullable(nullableString: String?): Int = nullableString?.length ?: -1
fun nullable(nullableString: String?, default: Int): Int {
return nullableString?.toIntOrNull() ?: default
}
fun main(args: Array<String>) {
val str = readlnOrNull()
val result = -1
println(nullable(str, result))
}
此处 'str' 变量接受值,而默认值为 -1 它 returns 默认为 -1 或 int 值,这是 Elvis 运算符 但你想要长度而不是值 所以这是解决方案
fun nullable(nullableString: String?, default: Int): Int {
return if (nullableString?.length == 0) {
default
} else {
nullableString?.length!! // !! is called the 'not-null assertion operator'
}
}
fun main(args: Array<String>) {
val str = readlnOrNull()
val result = -1
println(nullable(str, result))
}