原文地址: Kotlin 語法糖(對象不爲空返回自身,爲空返回其他) - Stars-One的雜貨小窩
開發中,經常會有這樣邏輯:
判斷對象如果不爲空,則取對象本身;
爲空,則得到其他對象;
然後每次寫個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 {
"空數據"
}