Kotlin 语法糖(对象不为空返回自身,为空返回其他)

发布时间 2023-06-23 15:23:01作者: Stars-one

原文地址: 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 { 
	"空数据"
}