本文主要是介绍kotlin中: isBlank / isEmpty / isNullOrBlank / isNullOrEmpty,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
//isNotEmpty(str) 等价于 str != null && str.length > 0
//isNotBlank(str) 等价于 str != null && str.length > 0 && str.trim().length > 0
//即:
//isNotEmpty(str) + && str.trim().length > 0 = isNotBlank(str)
//同理
//isEmpty 等价于 str == null || str.length == 0
//isBlank 等价于 str == null || str.length == 0 || str.trim().length == 0
//
//str.length > 0 && str.trim().length > 0 ---> str.length > 0
测试一:
fun main() {val str1: String = "" //blank / emptyprint(str1)val str2: String = " " //blank / 不emptyprint(str2)val str3: String? = null //空指针nullprint(str3)val str4: String = " null " //不blank / 不emptyprint(str4)val str5: String = "null" //不blank / 不emptyprint(str5)
}private fun print(str: String?) {println("【${str}】==========================${str?.length}")println("【${str}】==========================${str?.trim()?.length}")println("【${str}】==========================${str?.isBlank()}")println("【${str}】==========================${str?.isEmpty()}")println("【${str}】==========================${str.isNullOrBlank()}")println("【${str}】==========================${str.isNullOrEmpty()}")println()
}
//【】==========================0
//【】==========================0
//【】==========================true
//【】==========================true
//【】==========================true
//【】==========================true
//
//【 】==========================1
//【 】==========================0
//【 】==========================true
//【 】==========================false
//【 】==========================true
//【 】==========================false
//
//【null】==========================null
//【null】==========================null
//【null】==========================null
//【null】==========================null
//【null】==========================true
//【null】==========================true
//
//【 null 】==========================8
//【 null 】==========================4
//【 null 】==========================false
//【 null 】==========================false
//【 null 】==========================false
//【 null 】==========================false
//
//【null】==========================4
//【null】==========================4
//【null】==========================false
//【null】==========================false
//【null】==========================false
//【null】==========================false
测试二:
fun TextView.notEmpty(notEmpty: TextView.() -> String,empty: TextView.() -> String
) =if (text.toString().isNotEmpty()) notEmpty() else empty()fun TextView.notBlank(notBlank: TextView.() -> String,blank: TextView.() -> String
) =if (text.toString().trim().isNotBlank()) notBlank() else blank()//val text = TextView(this).apply {
// text = "123"
// text = "" //empty
// text = " " //不是empty}.notEmpty({text.toString()}, {"default"})println("============================================$text")//val s = TextView(this).apply {
// text = "123"
// text = "" //blank
// text = " " //blank}.notBlank({text.toString()}, {"default"})println("============================================$s")
这篇关于kotlin中: isBlank / isEmpty / isNullOrBlank / isNullOrEmpty的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!