📜  java 检查空值 - Java (1)

📅  最后修改于: 2023-12-03 15:16:01.445000             🧑  作者: Mango

Java 检查空值

在 Java 中,检查空值是一个非常常见而重要的操作。空值(null)代表着没有值或未初始化,如果在使用空值时未进行判断,会导致程序崩溃或出现其他非预期的错误。在本文中,我们将介绍如何在 Java 中检查空值。

判断一个对象是否为空

在 Java 中,使用关键字 null 来表示空值。要判断一个对象是否为空,可以使用 ==!= 运算符。下面是一个示例代码片段:

String str = null;

if (str == null) {
    System.out.println("字符串为空");
} else {
    System.out.println("字符串不为空");
}

在上述代码中,我们先将 str 赋值为 null,然后使用 == 运算符判断 str 是否为空。如果为空,则输出“字符串为空”,否则输出“字符串不为空”。

判断一个字符串是否为空或空白

在实际开发中,我们通常需要判断一个字符串是否为空或空白。空白是指字符串中仅包含空格、制表符、换行符等不可见字符。如果一个字符串仅由空白组成,则也被认为是空字符串。

在 Java 中,可以使用 isEmpty() 方法判断一个字符串是否为空,如下所示:

String str = "";

if (str.isEmpty()) {
    System.out.println("字符串为空");
} else {
    System.out.println("字符串不为空");
}

在上述代码中,我们先将 str 赋值为空字符串 "",然后使用 isEmpty() 方法判断 str 是否为空。如果为空,则输出“字符串为空”,否则输出“字符串不为空”。

如果要判断一个字符串是否为空或空白,则可以使用 isBlank() 方法。isBlank() 方法会忽略字符串中的空格、制表符、换行符等不可见字符,只有当字符串中不包含任何可见字符时才会返回 true。下面是一个示例代码片段:

String str = "  \t\n";

if (str.isBlank()) {
    System.out.println("字符串为空或空白");
} else {
    System.out.println("字符串不为空且不为空白");
}

在上述代码中,我们先将 str 赋值为空白字符串 " \t\n",然后使用 isBlank() 方法判断 str 是否为空或空白。如果为空或空白,则输出“字符串为空或空白”,否则输出“字符串不为空且不为空白”。

判断一个集合是否为空

在 Java 中,使用集合(Collection)来存储一组对象。要判断一个集合是否为空,可以使用 isEmpty() 方法。下面是一个示例代码片段:

List<String> list = new ArrayList<>();

if (list.isEmpty()) {
    System.out.println("集合为空");
} else {
    System.out.println("集合不为空");
}

在上述代码中,我们先创建了一个空的 ArrayList 集合 list,然后使用 isEmpty() 方法判断 list 是否为空。如果为空,则输出“集合为空”,否则输出“集合不为空”。

抛出空指针异常

在 Java 中,如果在使用空值时未进行判断,会导致程序崩溃或出现其他非预期的错误。为了避免这种情况发生,我们可以在检查空值的同时,抛出一个空指针异常(NullPointerException)。下面是一个示例代码片段:

String str = null;

if (str == null) {
    throw new NullPointerException("字符串为空");
}

在上述代码中,我们先将 str 赋值为 null,然后使用 == 运算符判断 str 是否为空。如果为空,则抛出一个空指针异常,异常的消息为“字符串为空”。

总结

在 Java 中,检查空值是一个非常常见而重要的操作。我们可以使用 ==!= 运算符、isEmpty() 方法、isBlank() 方法等来判断一个对象、字符串、集合是否为空。在检查空值的同时,我们也可以抛出一个空指针异常,以避免未进行判断时出现的错误。