Long クラスのインスタンスをチェックする
このステップでは、Java の Long クラスを調べ、オブジェクトが Long クラスのインスタンスであるかどうかをチェックする方法を学びます。
Java では、long のようなプリミティブデータ型はオブジェクトではありません。ただし、Java は各プリミティブ型に対応するラッパークラスを提供しており、Long は long プリミティブ型のラッパークラスです。ラッパークラスを使用すると、プリミティブ値をオブジェクトとして扱うことができ、コレクションを操作する場合など、多くのシチュエーションで便利です。
オブジェクトが特定のクラスのインスタンスであるかどうかをチェックするには、instanceof 演算子を使用します。instanceof 演算子は、オブジェクトがクラス、サブクラス、またはインターフェースのインスタンスであるかどうかをテストするために使用される二項演算子です。
Long クラスで instanceof 演算子を使用する方法を示す簡単な Java プログラムを作成しましょう。
-
WebIDE エディタで HelloJava.java ファイルが開いていない場合は、開きます。
-
ファイルの内容全体を次のコードに置き換えます。
public class HelloJava {
public static void main(String[] args) {
// Create a Long object
Long myLong = 12345L;
// Create an Integer object
Integer myInteger = 67890;
// Check if myLong is an instance of Long
if (myLong instanceof Long) {
System.out.println("myLong is an instance of Long.");
} else {
System.out.println("myLong is not an instance of Long.");
}
// Check if myInteger is an instance of Long
if (myInteger instanceof Long) {
System.out.println("myInteger is an instance of Long.");
} else {
System.out.println("myInteger is not an instance of Long.");
}
}
}
このコードでは、以下のことを行っています。
12345L という値を持つ Long オブジェクト myLong を作成します。L 接尾辞は、これが long リテラルであることを示します。
67890 という値を持つ Integer オブジェクト myInteger を作成します。
instanceof 演算子を使用して、myLong が Long のインスタンスであるかどうかをチェックします。
instanceof 演算子を使用して、myInteger が Long のインスタンスであるかどうかをチェックします。
-
ファイルを保存します(Ctrl+S または Cmd+S)。
-
ターミナルで次のコマンドを実行して、プログラムをコンパイルします。
javac HelloJava.java
コンパイルが成功すると、何も出力されません。
-
コンパイルされたプログラムを実行します。
java HelloJava
次の出力が表示されるはずです。
myLong is an instance of Long.
myInteger is not an instance of Long.
この出力は、Long オブジェクトとして作成した myLong が実際に Long クラスのインスタンスであり、Integer オブジェクトとして作成した myInteger はそうではないことを確認しています。