当我们调用一个为空的属性的时候,需要进行空的判断,那么如何避免这样?如何设置kotlin里面的默认值呢,比如函数参数的默认值,数据类的属性的默认值?
首先有这样的代码:
1 | data class User(val name: String?, val age: Int?) |
这样子写是不是很麻烦,那么这里我们可以将其写成一个方法,这样子调用的话就很方便了:1
2
3
4
5
6
7
8
9
10data class User(val name: String?, val age: Int?)
fun <T> T?.getDefault(default: T): T = this?.let { this } ?: default
fun main(args: Array<String>) {
val (name, _) = User(null, 23)
println(name.getDefault("jowan"))
val (_, age2) = User("jowan", null)
println(age2.getDefault(23))
}