Javaでのオートボックス化とボックス化解除とは何ですか?



この記事では、Javaでのオートボクシングに向けた包括的なアプローチと、理解を深めるためのいくつかの例を紹介します。

ほとんどの場合、任意の言語でプログラムを作成するときに、プリミティブデータ型を使用します。しかし、プリミティブデータ型がの領域で不足している状況があります そして それらの1つです。プリミティブデータ型の欠点を克服するために、 ラッパー 。この手順はオートボクシングと呼ばれます。以下のドケットを通じて、Javaでの詳細なオートボクシングについて説明します。

さぁ、始めよう。





Javaのボクシングとオートボクシングとは何ですか?

ボクシングとオートボクシングは、同じ概念を指すためによく使用されます。しかし実際には、それらは完全に同じではありません。まず、ボクシングの概念について説明しましょう。ボクシングとは?箱の中に何かを入れているようですね。はい、プリミティブデータ型をボックス化またはラップしていると言うときは、それをラップしてオブジェクトを形成していることを意味します。まだ混乱していますか?例を見てみましょう。

int FirstNumber = 1

変数「FirstNumber」はint型であり、 。では、変数「FirstNumber」をオブジェクトに変換したい場合はどうすればよいですか? Javaはそれを行う方法を提供します。



整数SecondNumber = new Integer(2)

「SecondNumber」はint型ではなく、Integer型のオブジェクトであることに注意してください。プリミティブデータ型をオブジェクトに変換するこのプロセスは、ボクシングと呼ばれます。これはどのように可能ですか?このタスクを実行する最も簡単な方法を考えてみましょう。作成できます クラス int型の単一の属性、int型の値を取得してそれをクラス属性に割り当てるコンストラクター、およびこのint値を操作するためのいくつかのメソッドが含まれています。詳細については、こちらをご覧ください 資料

int型をJavaに変換する方法を見てきました。他のプリミティブデータ型をオブジェクトに変換する方法はありますか?はい、Javaにはそれぞれがあります ラッパークラス さまざまなプリミティブデータ型用。この投稿の次のセクションでそれらを調べます。

オートボクシング

この時点で、ボクシングとは何かがわかります。それでは、オートボクシングとは何かを理解しましょう。ボクシングのプロセスが明示的に言及されていないコンパイラによって行われる場合、オートボクシングと呼ばれます。



例を挙げてこれを理解しましょう。

import java.util.ArrayList import java.util.Listclass Box {public static void main(String [] args){List Mylist = new ArrayList()for(int i = 0 i<10 i++) Mylist.add(i) } }

前に説明したように オブジェクトのみを受け入れ、プリミティブデータ型は機能しません。上記のプログラムでは、型を整数型のオブジェクトに変換していませんが、プログラムはエラーなしで実行されます。どうやって?この質問への答えは、コンパイラが「マイリスト」に値を追加する前にボクシングプロセスを自動的に実行したため、Autoboxingという名前になりました。

Mylist.add(Integer.valueOf(i))

上記のコード行は、コンパイラによってプログラムに追加されます。

注意- 上記のコード行では、valueOf()が静的メソッドであるため、メソッドvalueOf()の前にクラス名「Integer」が記載されています。その他の例については、 ドキュメント

開封と自動開封

私たちはどのように見ました プリミティブデータ型のはオブジェクトに変換されます。しかし、これは話の半分にすぎません。話の残りの半分は、タイプラッパークラスのオブジェクトをそのプリミティブデータ型に変換することです。 開封

例えば-

整数FirstNumber = new Integer(1)int SecondNumber = FirstNumber.intValue()System.out.println(SecondNumber)

出力-1

自動アンボックス- コンパイラが明示的に言及せずに行うボックス化解除のプロセスが自動ボックス化解除と呼ばれる場合。

例えば-

整数値=新しい整数(20)int num =数値

上記のコードは、自動ボックス解除の例です。次のセクションでは、ラッパークラスについて学習します。

ラッパークラス

型変数intl整数型オブジェクトに変換しました。この整数クラスはラッパークラスです。 Javaでは、ラッパークラスをそれぞれに使用できます 。これらのラッパークラスは、変数をプリミティブ型からそれぞれのラッパークラス型オブジェクトに変換するのに役立ちます。ラッパークラスのメソッドは、値を操作するのに役立ちます。

次の表は、プリミティブデータ型とそれぞれのラッパークラスについて示しています。

プリミティブ型 ラッパークラス

ブール値

ブール値

さようなら

バイト

char

キャラクター

javascriptの演算子の種類

浮く

浮く

int

整数

長いです

長いです

ショート

ショート

ダブル

ダブル

Wrapperクラスの大文字化に注意してください。

これで、「Javaでのオートボクシング」に関するこの記事は終わりです。詳細を知りたい場合は、 信頼できるオンライン学習会社であるEdurekaによる。 EdurekaのJavaJ2EEおよびSOAトレーニングおよび認定コースは、Hibernate&SpringなどのさまざまなJavaフレームワークに加えて、コアJavaコンセプトと高度なJavaコンセプトの両方についてトレーニングするように設計されています。

質問がありますか?このブログ「Javaでのオートボクシング」のコメントセクションでそれについて言及してください。できるだけ早くご連絡いたします。