现在,我正在使用以下函数来进行此检查
if(list.isNullOrEmpty().not()) {
doSomething()
} else {
dont()
}
对我来说,我觉得会有一种更短的方法来实现与
neitherNullNorEmpty()
或只是 isNotEmpty()
相同的效果(当前 isNotEmpty 采用不可为空列表)。类似于 CollectionUtils.isNotEmpty(list)
的东西看起来更干净。现在我要么必须在末尾添加 not()
要么添加“!”,这看起来不太正确,因为我觉得应该有一个函数来执行此操作。这样的函数会让代码更加简洁,更容易阅读。我错过了什么还是 Kotlin 错过了什么?
您可以自定义功能来检查列表,就像这样
private fun List<Any>.neitherNullNorEmpty():Boolean{
return this.isNullOrEmpty().not()
}
那就打电话吧
val list = arrayListOf<String>()
val list2 = arrayListOf<Int>()
if(list2.neitherNullNorEmpty()){
}
Kotlin 中没有
isNeitherNullNorEmpty
这样的函数。你必须自己定义它。
fun <T> Collection<T>?.isNeitherNullNorEmpty(): Boolean = !isNullOrEmpty()
fun main() {
val xs: List<String>? = listOf("a")
val ys: List<String>? = emptyList()
val zs: List<String>? = null
println(xs.isNeitherNullNorEmpty()) // true
println(ys.isNeitherNullNorEmpty()) // false
println(zs.isNeitherNullNorEmpty()) // false
}