kotlin :isNullOrEmpty 和 isNullOrBlank 有什么区别?

moh*_*yny 32 kotlin

我想在 android 中检查我的 EditText 的值,所以我看到了我的 String 值的两个函数:

user.isNullOrBlank()

user.isNullOrEmpty()

它们之间有什么区别?

Com*_*are 57

isNullOrBlank() 考虑空格:

fun main() {
  val thisIsBlank = "   "

  println(thisIsBlank.isNullOrEmpty())
  println(thisIsBlank.isNullOrBlank())
}
Run Code Online (Sandbox Code Playgroud)

这打印:

false
true
Run Code Online (Sandbox Code Playgroud)

因为thisIsBlank不是空的,而是空的。

  • _empty_ 指的是空字符串(没有字符的字符串,其长度为零),而 _blank_ 指的是空字符串或完全由空格字符组成的字符串。 (2认同)

For*_*est 15

isNullOrEmpty()

  • 正如 @Wyck 所评论的,对于没有字符和/或零长度的字符串返回true 。
  • 对于空白返回false 。

isNullOrBlank()

  • 对于没有字符和/或零长度的字符串返回true 。与 isNullOrEmpty() 相同
  • 并且对于空白也将返回true。与 isNullOrEmpty() 不同。