Kotlin程序检查字符串是否为空或null

Kotlin 实例大全

在这个程序中,您将学习使用Kotlin中的if-else语句和函数来检查字符串是空的还是null。

示例1:检查字符串是否为空或null

fun main(args: Array<String>) {

    val str1: String? = null
    val str2 = ""

    if (isNullOrEmpty(str1))
        println("str1是null或空.")
    else
        println("str1不为null或为空。")

    if (isNullOrEmpty(str2))
        println("str2是null或空。")
    else
        println("str2不为null或为空。")
}

fun isNullOrEmpty(str: String?): Boolean {
    if (str != null && !str.isEmpty())
        return false
    return true
}

运行该程序时,输出为:

str1是null或空。
str2是null或空。

在上面的程序中,我们有两个字符串str1和str2。str1包含null值,str2是一个空字符串。

我们还创建了一个函数isNullOrEmpty(),顾名思义,该函数检查字符串是null还是空。 它使用!= null和string的isEmpty()方法进行null检查来对其进行检查

简单地说,如果一个字符串不是null并且isEmpty()返回false,那么它既不是null也不是空。否则,是的。

但是,如果字符串只包含空白字符(空格),上面的程序不会返回empty。从技术上讲,isEmpty()发现它包含空格并返回false。对于带有空格的字符串,我们使用string方法trim()来修剪所有前导和末尾的空格字符。

示例2:检查带空格的字符串是否为空或空

fun main(args: Array<String>) {

    val str1: String? = null
    val str2 = "   "

    if (isNullOrEmpty(str1))
        println("str1是null或空。")
    else
        println("sstr2不为null或空。")

    if (isNullOrEmpty(str2))
        println("str2是null或空。")
    else
        println("str2不为null或为空。")
}

fun isNullOrEmpty(str: String?): Boolean {
    if (str != null && !str.trim().isEmpty())
        return false
    return true
}

运行该程序时,输出为:

str1是null或空。
str2是null或空。

在isNullorEmpty()中,我们添加了一个额外的trim()方法,它删除给定字符串中的所有前导和末尾空白字符。
如果字符串只包含空格,函数返回true。

这是等效的Java代码:检查字符串为null还是empty的Java程序

Kotlin 实例大全