Integer ラッパーの null チェックを行う
このステップでは、Java で Integer ラッパーオブジェクトを扱う方法、特に null かどうかをチェックする方法を探索します。int のようなプリミティブ型とは異なり、Integer はクラスです。つまり、Integer 変数はオブジェクトへの参照を保持することができ、何のオブジェクトも参照しない場合は null になります。Java では、非常に一般的でプログラムをクラッシュさせる可能性のある NullPointerException エラーを防ぐために、null 値を適切に扱うことが重要です。
Integer の null チェックを実演するために、簡単な Java プログラムを作成しましょう。
-
WebIDE エディタで HelloJava.java ファイルを開きます。前の実験を完了している場合、このファイルは ~/project ディレクトリに既に存在するはずです。
-
HelloJava.java の既存のコードを以下のコードに置き換えます。
public class HelloJava {
public static void main(String[] args) {
Integer myInteger = null; // Declaring an Integer and setting it to null
// Check if myInteger is null
if (myInteger == null) {
System.out.println("myInteger is null.");
} else {
System.out.println("myInteger is not null. Its value is: " + myInteger);
}
// Let's try with a non-null Integer
Integer anotherInteger = 10; // Declaring and initializing with a value
// Check if anotherInteger is null
if (anotherInteger == null) {
System.out.println("anotherInteger is null.");
} else {
System.out.println("anotherInteger is not null. Its value is: " + anotherInteger);
}
}
}
このコードでは、以下のことを行っています。
Integer 変数 myInteger を宣言し、明示的に null に設定しています。
if 文を使用して、== 演算子で myInteger が null かどうかをチェックしています。これは Java でオブジェクト参照が null かどうかをチェックする標準的な方法です。
- 別の
Integer 変数 anotherInteger を宣言し、値 10 を割り当てています。Java は自動的にプリミティブ型の int 値 10 を Integer オブジェクトに変換します(これをオートボクシングと呼びます)。
anotherInteger に対して同じ null チェックを行っています。
-
HelloJava.java ファイルを保存します(Ctrl+S または Cmd+S)。
-
ターミナルで javac コマンドを使用してプログラムをコンパイルします。~/project ディレクトリにいることを確認してください。
javac HelloJava.java
エラーがなければ、コンパイルは無事に完了し、~/project ディレクトリに HelloJava.class ファイルが作成されます。
-
java コマンドを使用してコンパイルされたプログラムを実行します。
java HelloJava
次のような出力が表示されるはずです。
myInteger is null.
anotherInteger is not null. Its value is: 10
この出力は、null の Integer と null でない Integer の両方に対して null チェックが正しく機能したことを確認しています。null をチェックする方法を理解することは、Java プログラミングにおける基本的なスキルであり、特にラッパークラスや必ずしも値が割り当てられていないオブジェクトを扱う際に重要です。