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
はそうではないことを確認しています。