企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# Kotlin 程序:检查字符串是否为空或`null` > 原文: [https://www.programiz.com/kotlin-programming/examples/string-empty-null](https://www.programiz.com/kotlin-programming/examples/string-empty-null) #### 在此程序中,您将学习使用`if-else`语句和 Kotlin 中的函数检查字符串是否为空或`null`。 ## 示例 1:检查字符串是否为空或`null` ```kt fun main(args: Array<String>) { val str1: String? = null val str2 = "" if (isNullOrEmpty(str1)) println("str1 is null or empty.") else println("str1 is not null or empty.") if (isNullOrEmpty(str2)) println("str2 is null or empty.") else println("str2 is not null or empty.") } fun isNullOrEmpty(str: String?): Boolean { if (str != null && !str.isEmpty()) return false return true } ``` 运行该程序时,输出为: ```kt str1 is null or empty. str2 is null or empty. ``` 在上面的程序中,我们有两个字符串`str1`和`str2`。`str1`包含空值,`str2`是空字符串。 我们还创建了一个函数`isNullOrEmpty()`,顾名思义,该函数检查字符串是空还是空。 它使用字符串的`!= null`和`isEmpty()`方法使用空检查来对其进行检查。 简而言之,如果字符串不是`null`且`isEmpty()`返回`false`,则它既不是`null`也不为空。 否则,是的。 但是,如果字符串仅包含空格字符(空格),则上述程序不会返回空。 从技术上讲,`isEmpty()`看到它包含空格并返回`false`。 对于带空格的字符串,我们使用字符串方法`trim()`修剪掉所有前导和尾随空格字符。 * * * ## 示例 2:检查带空格的字符串是否为空或`null` ```kt fun main(args: Array<String>) { val str1: String? = null val str2 = " " if (isNullOrEmpty(str1)) println("str1 is null or empty.") else println("str1 is not null or empty.") if (isNullOrEmpty(str2)) println("str2 is null or empty.") else println("str2 is not null or empty.") } fun isNullOrEmpty(str: String?): Boolean { if (str != null && !str.trim().isEmpty()) return false return true } ``` 运行该程序时,输出为: ```kt str1 is null or empty. str2 is null or empty. ``` 在`isNullorEmpty()`中,我们添加了一个额外的方法`trim()`,该方法删除了给定字符串中的所有前导和尾随空白字符。 因此,现在,如果字符串仅包含空格,该函数将返回`true`。 以下是等效的 Java 代码:[检查字符串是否为 null 或为空的 Java 程序](/java-programming/examples/string-empty-null "Java program to check if a string is null or empty")。