在Java中,我们始终提醒您使用myString.isEmpty()
来检查String是否为空。但是,在Kotlin中,我发现您可以使用myString == ""
或myString.isEmpty()
甚至myString.isBlank()
。
对此有任何指导/建议吗?或者只是简单地“#34;任何晃动你的船的东西"?
提前感谢我的好奇心。 :d
答案 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