Boolean ラッパーの null チェック
このステップでは、Java で Boolean
ラッパーオブジェクトを扱う方法を探ります。具体的には、Boolean
オブジェクトが null
かどうかをチェックすることに焦点を当てます。true
または false
のみを取り得るプリミティブな boolean
型とは異なり、Boolean
ラッパークラスは null
値も保持できます。これを注意深く処理しないと、NullPointerException
の一般的な原因となります。
これを実証するために、簡単な Java プログラムを作成しましょう。
-
WebIDE の左側にあるファイルエクスプローラーで ~/project
ディレクトリを開きます。
-
~/project
ディレクトリ内の空白部分を右クリックし、「新しいファイル」を選択します。
-
新しいファイルの名前を BooleanCheck.java
として、Enter キーを押します。
-
コードエディターで BooleanCheck.java
ファイルを開きます。
-
次の Java コードをエディターにコピーして貼り付けます。
public class BooleanCheck {
public static void main(String[] args) {
Boolean myBoolean = null;
// Attempting to directly use a null Boolean in a conditional
// will cause a NullPointerException
// if (myBoolean) {
// System.out.println("This will not be printed if myBoolean is null.");
// }
// Correct way to check if a Boolean wrapper is null
if (myBoolean == null) {
System.out.println("myBoolean is null.");
} else {
System.out.println("myBoolean is not null.");
}
// Another way to check the boolean value safely
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
と入力して Enter キーを押します。
-
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
と識別したことを確認しています。コメントアウトされたコードは、null
の Boolean
を if
条件で直接使用しようとした場合に何が起こるかを示しています。これは NullPointerException
を引き起こします。
null
の Boolean
オブジェクトを安全に扱う方法を理解することは、Java プログラミングにおける一般的なエラーを回避するために重要です。