logo

Javaのラッパークラス

Javaのラッパークラス メカニズムを提供します プリミティブをオブジェクトに、オブジェクトをプリミティブに変換します

J2SE 5.0以降、 オートボクシング そして 開梱する プリミティブをオブジェクトに変換し、オブジェクトをプリミティブに自動的に変換する機能です。プリミティブからオブジェクトへの自動変換はオートボックス化として知られており、その逆のアンボックス化も同様です。

Java での Wrapper クラスの使用

Java はオブジェクト指向プログラミング言語であるため、コレクション、シリアル化、同期などでオブジェクトを何度も処理する必要があります。ラッパー クラスを使用する必要があるさまざまなシナリオを見てみましょう。

Java列挙型
    「メソッド」の値を変更します。Java は値による呼び出しのみをサポートします。したがって、プリミティブ値を渡しても、元の値は変更されません。ただし、オブジェクト内のプリミティブ値を変換すると、元の値が変更されます。シリアル化:シリアル化を実行するには、オブジェクトをストリームに変換する必要があります。プリミティブ値がある場合は、ラッパー クラスを通じてオブジェクトに変換できます。同期:Java 同期は、マルチスレッドでオブジェクトを処理します。java.util パッケージ:java.util パッケージは、オブジェクトを処理するためのユーティリティ クラスを提供します。収集フレームワーク:Java コレクション フレームワークはオブジェクトのみで動作します。コレクション フレームワークのすべてのクラス (ArrayList、LinkedList、Vector、HashSet、LinkedHashSet、TreeSet、PriorityQueue、ArrayDeque など) はオブジェクトのみを処理します。

の 8 つのクラス java.lang パッケージは Java ではラッパー クラスとして知られています。 8 つのラッパー クラスのリストを以下に示します。

プリミティブ型ラッパークラス
ブール値ブール値
文字 キャラクター
バイトバイト
短い短い
整数 整数
長さ長さ
浮く浮く
ダブルダブル

オートボクシング

プリミティブ データ型から対応するラッパー クラスへの自動変換はオートボクシングとして知られています。たとえば、バイトからバイト、文字から文字、int から整数、long から Long、float から Float、boolean から Boolean、double から Double、short です。ショートへ。

ダブルJavaとは何ですか

Java 5 以降、プリミティブをオブジェクトに変換するためにラッパー クラスの valueOf() メソッドを使用する必要はありません。

ラッパークラスの例: プリミティブからラッパーへ

 //Java program to convert primitive into objects //Autoboxing example of int to Integer public class WrapperExample1{ public static void main(String args[]){ //Converting int into Integer int a=20; Integer i=Integer.valueOf(a);//converting int into Integer explicitly Integer j=a;//autoboxing, now compiler will write Integer.valueOf(a) internally System.out.println(a+' '+i+' '+j); }} 

出力:

 20 20 20 

開梱する

ラッパー型を対応するプリミティブ型に自動的に変換することは、アンボックス化と呼ばれます。これはオートボクシングの逆のプロセスです。 Java 5 以降では、ラッパー クラスの intValue() メソッドを使用してラッパー型をプリミティブに変換する必要はありません。

ラッパークラスの例: ラッパーからプリミティブへ

 //Java program to convert object into primitives //Unboxing example of Integer to int public class WrapperExample2{ public static void main(String args[]){ //Converting Integer to int Integer a=new Integer(3); int i=a.intValue();//converting Integer to int explicitly int j=a;//unboxing, now compiler will write a.intValue() internally System.out.println(a+' '+i+' '+j); }} 

出力:

ディクストラ
 3 3 3 

Java ラッパー クラスの例

 //Java Program to convert all primitives into its corresponding //wrapper objects and vice-versa public class WrapperExample3{ public static void main(String args[]){ byte b=10; short s=20; int i=30; long l=40; float f=50.0F; double d=60.0D; char c='a'; boolean b2=true; //Autoboxing: Converting primitives into objects Byte byteobj=b; Short shortobj=s; Integer intobj=i; Long longobj=l; Float floatobj=f; Double doubleobj=d; Character charobj=c; Boolean boolobj=b2; //Printing objects System.out.println('---Printing object values---'); System.out.println('Byte object: '+byteobj); System.out.println('Short object: '+shortobj); System.out.println('Integer object: '+intobj); System.out.println('Long object: '+longobj); System.out.println('Float object: '+floatobj); System.out.println('Double object: '+doubleobj); System.out.println('Character object: '+charobj); System.out.println('Boolean object: '+boolobj); //Unboxing: Converting Objects to Primitives byte bytevalue=byteobj; short shortvalue=shortobj; int intvalue=intobj; long longvalue=longobj; float floatvalue=floatobj; double doublevalue=doubleobj; char charvalue=charobj; boolean boolvalue=boolobj; //Printing primitives System.out.println('---Printing primitive values---'); System.out.println('byte value: '+bytevalue); System.out.println('short value: '+shortvalue); System.out.println('int value: '+intvalue); System.out.println('long value: '+longvalue); System.out.println('float value: '+floatvalue); System.out.println('double value: '+doublevalue); System.out.println('char value: '+charvalue); System.out.println('boolean value: '+boolvalue); }} 

出力:

 ---Printing object values--- Byte object: 10 Short object: 20 Integer object: 30 Long object: 40 Float object: 50.0 Double object: 60.0 Character object: a Boolean object: true ---Printing primitive values--- byte value: 10 short value: 20 int value: 30 long value: 40 float value: 50.0 double value: 60.0 char value: a boolean value: true 

Java のカスタム ラッパー クラス

Java ラッパー クラスはプリミティブ データ型をラップするため、ラッパー クラスと呼ばれます。プリミティブ データ型をラップするクラスを作成することもできます。したがって、Java でカスタム ラッパー クラスを作成できます。

 //Creating the custom wrapper class class Javatpoint{ private int i; Javatpoint(){} Javatpoint(int i){ this.i=i; } public int getValue(){ return i; } public void setValue(int i){ this.i=i; } @Override public String toString() { return Integer.toString(i); } } //Testing the custom wrapper class public class TestJavatpoint{ public static void main(String[] args){ Javatpoint j=new Javatpoint(10); System.out.println(j); }} 

出力:

 10