等価演算子を使用したヌルチェック
このステップでは、Java の文字列変数が null
かどうかを等価演算子 (==
) を使用してチェックする方法を学びます。null
を適切に扱う方法を理解することは、Java プログラミングにおいてエラーを防ぐために重要です。
Java では、参照型 (例えば String
) の変数は null
と呼ばれる特別な値を保持することができます。これは、その変数がメモリ内のどのオブジェクトも参照していないことを意味します。null
変数を有効なオブジェクトのように使用しようとすると、NullPointerException
が発生します。これは初心者にとってよく見られる、厄介なエラーです。
文字列が null
かどうかをチェックする最も簡単な方法は、等価演算子 (==
) を使用することです。
これを実証するために、簡単な Java プログラムを作成しましょう。
-
WebIDE を開き、~/project
ディレクトリにいることを確認します。ターミナルのプロンプトを見るか、pwd
と入力して Enter キーを押すことで確認できます。
-
~/project
ディレクトリに NullCheck.java
という名前の新しい Java ファイルを作成します。左側のファイルエクスプローラーで右クリックし、「New File」を選択して NullCheck.java
と入力することで作成できます。
-
NullCheck.java
ファイルをエディターで開き、以下のコードを貼り付けます。
public class NullCheck {
public static void main(String[] args) {
String myString1 = "Hello";
String myString2 = null;
String myString3 = ""; // This is an empty string, not null
System.out.println("Checking myString1:");
if (myString1 == null) {
System.out.println("myString1 is null");
} else {
System.out.println("myString1 is not null");
}
System.out.println("\nChecking myString2:");
if (myString2 == null) {
System.out.println("myString2 is null");
} else {
System.out.println("myString2 is not null");
}
System.out.println("\nChecking myString3:");
if (myString3 == null) {
System.out.println("myString3 is null");
} else {
System.out.println("myString3 is not null");
}
}
}
このコードでは:
- 3 つの
String
変数を宣言しています。myString1
には通常の文字列が割り当てられ、myString2
には明示的に null
が割り当てられ、myString3
には空文字列 (""
) が割り当てられています。
if
文と等価演算子 (==
) を使用して、各文字列が null
かどうかをチェックしています。
- 文字列が
null
かどうかを示すメッセージを出力しています。
-
NullCheck.java
ファイルを保存します (Ctrl+S または Cmd+S)。
-
WebIDE の下部にあるターミナルを開きます。~/project
ディレクトリにいることを確認します。
-
javac
コマンドを使用して Java プログラムをコンパイルします。
javac NullCheck.java
エラーがなければ、このコマンドにより同じディレクトリに NullCheck.class
ファイルが作成されます。
-
java
コマンドを使用してコンパイルされた Java プログラムを実行します。
java NullCheck
以下のような出力が表示されるはずです。
Checking myString1:
myString1 is not null
Checking myString2:
myString2 is null
Checking myString3:
myString3 is not null
この出力は、myString1
と myString3
が null
ではなく、myString2
が null
であることを確認しています。null
文字列と空文字列 (""
) の違いに注意することが重要です。空文字列は文字数がゼロの有効な String
オブジェクトであり、null
文字列変数はどのオブジェクトも指していません。
== null
を使用することは、Java で参照変数が null
かどうかをチェックする標準的で正しい方法です。