ラッパークラスは、java.langライブラリの重要なクラスです。ラッパー クラス オブジェクトは、プリミティブ データ型のラッパーを作成します。ラッパー クラスのオブジェクトの作成中に、プリミティブ データ型が格納されるメモリ内にスペースが作成されます。ラッパー クラスは、オブジェクトからプリミティブ データへの変換、およびプリミティブ データからオブジェクトへの変換 (ボックス化/アンボックス化など) のためのいくつかの機能を提供します。オブジェクトからプリミティブ データへ、およびプリミティブ データからオブジェクトへの変換は自動的に行われます。プリミティブ データ型とは、int、float、char、double、byte などを指します。
無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
構文:
以下の宣言は、Java プログラム内で Wrapper クラスがどのように動作するかを示しています。
例:
int i = 100;
以下の例では、i が整数データ型であることがわかります。 Java では、整数をオブジェクトの型として渡す必要がある場合があります。この場合、ラッパー クラスを使用して整数をオブジェクトに変換できます。
コード:
Integer intVal = new Integer(i);
上記の構文では、Integer クラス オブジェクトを使用してプリミティブ データ型がどのようにオブジェクトに変換されるかを確認できます。また、プリミティブ データ型はオブジェクトとしてラップされているとも言えます。
ラッパー クラスの使用例をいくつか以下に示します。
JavaAPI に基づいて、Wrapper クラス階層は Object をさまざまなプリミティブ クラスの最上位に保ちます。数値、文字、およびブール値は、オブジェクトの直後の第 2 レベルにあります。 Byte、Short、Int、Long、Float、Double は、第 3 レベルの Number データ型に分類されます。
ラッパー クラスは、データ型の変換/ラッピング、またはオブジェクトのプリミティブ データ型への変換のために、オートボックス化とボックス化解除という 2 つのメカニズムを使用します。
以下は Java のラッパー クラスのさまざまな例です:
以下の例では、ラッパー クラスを通じて int i からオブジェクト k への手動変換がどのように行われるかを確認できます。
コード:
import java.util.*; class WrapperExample { public static void main(String args[]){ int j=100; //converting int j to integer k as an object Integer k = new Integer(j); System.out.println(j + "\n" + k); } }
出力:
上記の例では、変換が明示的にどのように行われるかを確認できます。
以下の例では、この変換プロセスが時々自動的に行われることがわかります (オートボックス化と呼ばれます)。
コード:
import java.util.*; class AutoboxingUnboxingExample { public static void main(String args[]){ int j = 500; ArrayList<Integer> arrValues = new ArrayList(); arrValues.add(j); // autoboxing takes place implicitly System.out.println(arrValues.get(0)); } }
出力:
上記の例では、int 値はオブジェクトとして暗黙的にオブジェクトに変換されます。さらに、この値は ArrayList.
から取得できます。この例では、Unboxing の実装について説明します。アンボックス化は、オートボックス化の逆のプロセスです。
コード:
import java.util.*; class AutoboxingUnboxingExample { public static void main(String args[]){ ArrayList<Integer> arrValues = new ArrayList(); arrValues.add(250); //unboxing here as int data type from Integer object int k = arrValues.get(0); //value printed is in primitive data type System.out.println(k); } }
出力:
上記の例では、ArrayList オブジェクト フィールドが k プリミティブ データ型、つまり int k に変換されます。
The following given example have all the details of Autoboxing & Unboxing.
Code:
import java.util.*; class WrapperConversionExample { public static void main(String args[]){ int i = 15; float j = 9.6f; double k = 120.8; byte l = 1; //creating instance of Integer object Integer iObj = new Integer(i); //creating instance of Float object Float fObj = new Float(j); //creating instance of Double object Double dObj = new Double(k); //creating instance of Double object Byte bObj = new Byte(l); //value printed is in object System.out.println("Value as an Integer object > " + iObj); System.out.println("Value as a Float object > " + fObj); System.out.println("Value as a Double object > " + dObj); System.out.println("Value as a Byte object > " + bObj); //primitive data type from the object int m = iObj; float n = fObj; double o = dObj; byte p = bObj; //value printed is in primitive data type System.out.println("Value as an int primitive type > " + m); System.out.println("Value as a float primitive type > " + n); System.out.println("Value as a double primitive type > "+ o); System.out.println("Value as a byte primitive type > " + p); } }
Output:
In the above-given program, we can see the implementation of Wrapper classes. Wrapper classes are converting the primitive data type to object & object to the primitive data type. The wrapper class provides separate classes for each primitive data type.
Through the Wrapper classes, we can easily understand autoboxing & unboxing how conversion takes place from primitive to object & its vice versa, which can be easily understood through Wrapper classes. For each of the primitive data types, there is a dedicated class in java.
以上がJavaのラッパークラスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。