检查Kotlin中字符串是否为空

时间:2017-07-26 20:37:49

标签: kotlin

在Java中,我们始终提醒您使用myString.isEmpty()来检查String是否为空。但是,在Kotlin中,我发现您可以使用myString == ""myString.isEmpty()甚至myString.isBlank()

对此有任何指导/建议吗?或者只是简单地“#34;任何晃动你的船的东西"?

提前感谢我的好奇心。 :d

5 个答案:

答案 0 :(得分:28)

不要使用hintingPreference,在java中这将是myString == "",这也是不推荐的。

myString.equals("")isBlank不同,这实际上取决于您的用例。

isEmpty检查char序列的长度是0还是所有索引都是空格。 isBlank仅检查char序列长度是否为0。

isEmpty

答案 1 :(得分:13)

对于String? (可空字符串)数据类型,我使用.isNullOrBlank()

对于String,我使用.isBlank()

为什么呢?因为大多数时候,我不想允许带有空格的字符串(并且.isBlank()检查空格以及空字符串)。如果您不关心空格,请使用.isNullorEmpty().isEmpty()表示字符串?和String,分别。

答案 2 :(得分:5)

如果要测试字符串是否与空字符串isEmpty完全相等,请使用""

如果要测试字符串为空或仅包含空格(isBlank""),请使用" "

避免使用== ""

答案 3 :(得分:0)

您可以使用isNullOrBlank()检查字符串是否为空或空。此方法仅将空格视为字符串为空。

这是一个用法示例:

val s: String? = null
println(s.isNullOrBlank())
val s1: String? = ""
println(s1.isNullOrBlank())
val s2: String? = "     "
println(s2.isNullOrBlank())
val s3: String? = "  a "
println(s3.isNullOrBlank())

此代码段的输出为:

true
true
true
false

答案 4 :(得分:0)

Kotlin有两种可用的方法。 1. isNullOrBlank() 2. isNullOrEmpty()

区别是

    data = " " // this is a text with blank space 

    println(data.isNullOrBlank()?.toString())  //true
    println(data.isNullOrEmpty()?.toString())  //false