开发中,经常会有这样逻辑:
判断对象如果不为空,则取对象本身;
为空,则得到其他对象;
然后每次写个if还是有些啰嗦,可以使用kotlin的语法糖
可空对象使用?:
如果是可空对象,可以使用?:
来实现
原来逻辑:
var str :String?=null
val result = if (str==null) {
"空数据"
} else {
str
}
改造后:
var str :String?=null
val result = str?:"空数据"
扩展方法
kotlin提供了两个扩展方法
ifBlank
ifEmpty
比如说一个列表List对象
原逻辑:
val list = arrayListOf<String>()
val result = if (list.isEmpty()) {
arrayListOf("空数据")
} else {
list
}
改造后:
val list = arrayListOf<String>()
val result =str.ifEmpty {
arrayListOf<String>("空数据")
}
同理,ifBlank也是一样的用法
val str =""
val result =str.ifBlank {
"空数据"
}
评论区