この記事では、Java のパッケージング クラスとは何ですか? Java パッケージング クラスのアプリケーション シナリオの紹介は、必要な方の参考になれば幸いです。
今日は、Java パッケージング クラスの起源と、自動ボックス化とボックス化解除の概念と原則について説明します。
Java 設計では、当初、8 つの基本データ型と、対応する 8 つのパッケージ化データ型が提供されていました。 Java がオブジェクト指向プログラミング用の高級言語であることはわかっているので、ラッパー型はまさに、オブジェクト指向プログラミングでは基本的なデータ型が使用できないという問題を解決するために提供されるものです。
以下は、基本的なデータ タイプと対応するパッケージング タイプです。
パッケージ化タイプ | |
---|---|
バイト | |
ブール値 | |
Short | ##char |
int | |
long | |
float | |
double | |
#上の表から、基本タイプとパッケージング タイプを包括的に理解できます。
パッケージ化クラスのアプリケーション シナリオ
1. コレクション クラスのジェネリックスはパッケージ化クラスのみにすることができます。デフォルト値;// 编译报错 List<int> list1 = new ArrayList<>(); // 正常 List<Integer> list2 = new ArrayList<>();
基本データ型のメンバー変数にはデフォルト値があります。たとえば、上記のコードの status のデフォルト値は 0 です。定義内の 0 が失敗を表す場合、問題が発生します。ラッパー クラス Integer のデフォルト値は null なので、デフォルト値の影響はありません。
3. メソッド パラメーターは null 値を定義できます。private int status;
さらに多くのアプリケーション シナリオがあるため、1 つずつリストすることはしません。パッケージングのその他のアプリケーション シナリオについて話し合うために、メッセージを残していただければ幸いです。
自動ボックス化とボックス化解除Java 5 では、基本データ型とパッケージ化型の間の相互変換操作を提供する自動ボックス化およびボックス化解除メカニズムが追加されています。
オートボクシングprivate static void test1(int status){ System.out.println(status); }
上記 3 つのメソッドはすべて変換できますが、3 番目のメソッドは Java 5 より前ではコンパイルに失敗しており、3 番目のメソッドは現在の自動ボックス化機能でもあります。さらに、最初のコンストラクター メソッドは推奨されず、非推奨としてマークされています。
実際、自動ボックス化の原則は、2 番目のメソッドの Integer.valueOf メソッドなど、パッケージ化クラスの valueOf メソッドを呼び出すことです。
自動アンボックス化自動アンボックス化とは、自動パッケージ化とは対照的に、パッケージ化タイプを基本的なデータ型に自動的に変換することを意味し、インストールおよび解凍の際に理解しやすくなります。 。
Integer i1 = new Integer(8); Integer i2 = Integer.valueOf(8); // 自动装箱 Integer i3 = 8;
上記の例を続けると、i3 を i4 に割り当てることが自動ボックス化機能です。自動ボックス化の原理は、i5 の Integer の intValue メソッドなど、パッケージ化クラスの xxValue メソッドを呼び出すことです。
自動ボックス化とボックス化解除は、上記の例に反映されているだけでなく、メソッドがパラメータを受け取り、オブジェクトがパラメータを設定したときに自動的にボックス化およびボックス化解除することもできます。
以上がJavaのラッパークラスとは何ですか? Java パッケージング クラスのアプリケーション シナリオの概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。