kotlin - 检查 Kotlin 中的字符串是否为空

在 Java 中,我们一直被提醒使用 myString.isEmpty() 来检查字符串是否为空。然而,在 Kotlin 中,我发现您可以使用 myString == ""myString.isEmpty() 甚至 myString.isBlank() .

对此是否有任何指导方针/建议?或者它只是“任何能撼动你的船的东西”?

提前感谢您满足我的好奇心。 :D

最佳答案

不要使用 myString == "",在 java 中这将是 myString.equals(""),也不推荐使用。

isBlankisEmpty 不同,它确实取决于您的用例。

isBlank 检查 char 序列的长度是否为 0 或所有索引都是空白。 isEmpty 只检查 char 序列长度是否为 0。

/**
 * Returns `true` if this string is empty or consists solely of whitespace characters.
 */
public fun CharSequence.isBlank(): Boolean = length == 0 || indices.all { this[it].isWhitespace() }


/**
 * Returns `true` if this char sequence is empty (contains no characters).
 */
@kotlin.internal.InlineOnly
public inline fun CharSequence.isEmpty(): Boolean = length == 0

https://stackoverflow.com/questions/45336954/

相关文章:

kotlin - 如何在 Kotlin 中引用外部类的实例?

java - java 10 和 kotlin 中的 “var”

android - Kotlin 中是否有类似 #region #endregion 的语法?

sorting - Kotlin 最后排序空值

kotlin - 如何从 Kotlin 中的字符串创建枚举?

android - Kotlin 和惯用的编写方式, 'if not null, else...'

kotlin - 有什么作用?。在作业的左侧使用时在 Kotlin 中的意思是什么?

android - 将支持库更新到 27.0.0 后,我的 fragment 中出现多个错误

rx-java - Kotlin 和 RxJava - 为什么我的 Single.zip() 没有编

generics - 如何在 Kotlin 中获取具体泛型参数的实际类型参数?