测试布尔包装类是否为 null
在这一步中,我们将探讨如何在 Java 中处理 Boolean 包装类对象,特别关注如何检查一个 Boolean 对象是否为 null。与只能为 true 或 false 的基本数据类型 boolean 不同,Boolean 包装类还可以持有 null 值。如果处理不当,这通常会导致 NullPointerException。
让我们创建一个简单的 Java 程序来演示这一点。
-
在 WebIDE 左侧的文件资源管理器中打开 ~/project 目录。
-
在 ~/project 目录的空白处右键单击,然后选择“新建文件”。
-
将新文件命名为 BooleanCheck.java 并按回车键。
-
在代码编辑器中打开 BooleanCheck.java 文件。
-
将以下 Java 代码复制并粘贴到编辑器中:
public class BooleanCheck {
public static void main(String[] args) {
Boolean myBoolean = null;
// 尝试在条件语句中直接使用 null 的 Boolean
// 会导致 NullPointerException
// if (myBoolean) {
// System.out.println("This will not be printed if myBoolean is null.");
// }
// 检查 Boolean 包装类是否为 null 的正确方法
if (myBoolean == null) {
System.out.println("myBoolean is null.");
} else {
System.out.println("myBoolean is not null.");
}
// 另一种安全检查布尔值的方法
if (Boolean.TRUE.equals(myBoolean)) {
System.out.println("myBoolean is true.");
} else if (Boolean.FALSE.equals(myBoolean)) {
System.out.println("myBoolean is false.");
} else {
System.out.println("myBoolean is null (checked using equals).");
}
}
}
-
按 Ctrl + S(在 Mac 上按 Cmd + S)保存文件。
-
现在,让我们编译这个 Java 程序。打开 WebIDE 底部的终端。确保你位于 ~/project 目录中。如果不是,请输入 cd ~/project 并按回车键。
-
使用 javac 命令编译代码:
javac BooleanCheck.java
如果没有错误,该命令将执行完毕且无输出。这意味着 ~/project 目录中已创建了一个 BooleanCheck.class 文件。
-
使用 java 命令运行编译后的 Java 程序:
java BooleanCheck
-
你应该会在终端中看到以下输出:
myBoolean is null.
myBoolean is null (checked using equals).
这个输出证实了我们的代码使用 == null 检查和 Boolean.TRUE.equals() / Boolean.FALSE.equals() 模式正确地识别出 Boolean 对象为 null。注释掉的代码展示了如果你尝试在 if 条件语句中直接使用 null 的 Boolean 会发生什么,这将导致 NullPointerException。
理解如何安全地处理 null 的 Boolean 对象对于避免 Java 编程中的常见错误至关重要。