网站运营每天做的,网站设计与网页配色实例精讲pdf,房产备案价格查询官网,百度收录提交入口网址是什么Kotlin 的空指针检查
Kotlin 是一种空安全的语言#xff0c;这意味着它强制开发者明确地处理可能的空值。在 Kotlin 中#xff0c;所有的变量默认都是非空的#xff0c;除非显式地标记为可为空。
声明可为空的变量
你可以通过在类型后面添加 ? 来声明一个变量可以为空这意味着它强制开发者明确地处理可能的空值。在 Kotlin 中所有的变量默认都是非空的除非显式地标记为可为空。
声明可为空的变量
你可以通过在类型后面添加 ? 来声明一个变量可以为空
var nullableString: String? null
安全调用操作符?.
当你不确定一个对象是否为空时可以使用安全调用操作符?.来避免空指针异常。如果对象是空的则整个表达式的结果也是 null而不会抛出异常。 nullableString?.length // 如果 nullableString 为 null则返回 null否则返回其长度
非空断言操作符!!
如果你确定一个对象不为空但编译器无法推断出这一点你可以使用非空断言操作符!!来告诉编译器该对象非空。但是如果对象实际上是空的使用 !! 将会抛出 NullPointerException。
val length nullableString!!.length // 如果 nullableString 为 null则抛出 NullPointerException
Elvis 操作符?:
Elvis 操作符?:允许你提供一个默认值当左侧表达式为 null 时返回这个默认值。
val lengthOrDefault nullableString?.length ?: 0 // 如果 nullableString 为 null则返回 0
字符串内嵌表达式
Kotlin 允许你在字符串字面量中嵌入表达式这通常被称为字符串模板。你可以使用 $ 符号来引用变量或表达式并将其嵌入到字符串中。
字符串模板
val name Kotlin val greeting Hello, $name! // 输出Hello, Kotlin! val sum 1 2 val result The sum is $sum // 输出The sum is 3
如果你需要在字符串模板中嵌入更复杂的表达式可以使用花括号 {} 来包围表达式。
val price 10.5 val formattedPrice The price is $${price.format(Locale.getDefault(), %.2f).trim()} // 输出The price is $10.50
函数的参数默认值
在 Kotlin 中你可以为函数的参数提供默认值这使得函数调用更加灵活。当调用函数时可以省略具有默认值的参数。
带有默认值的函数参数
fun greet(name: String, prefix: String Hello): String { return $prefix, $name! } // 调用函数时可以省略 prefix 参数 val greeting greet(Kotlin) // 输出Hello, Kotlin! // 也可以明确指定 prefix 参数 val customGreeting greet(Kotlin, Hi) // 输出Hi, Kotlin!
在上面的例子中greet 函数有一个名为 name 的必需参数和一个名为 prefix 的可选参数带有默认值 Hello。当调用 greet 函数时可以省略 prefix 参数因为它有一个默认值。如果你需要提供一个不同的前缀可以明确指定它。