等価演算子を使用して null をテストする
このステップでは、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 かどうかをチェックする標準的で正しい方法です。