1. 定義:
(推奨学習: Java エントリー プログラム )
Java はオブジェクト指向プログラミング言語ですが、Java の 8 つの基本データ型はオブジェクト指向ではありません。この欠点を使いやすく解決するために、対応するクラスは、クラスの設計時に各基本データ型を表すように設計されています。 8 つの基本データ型に対応するクラスはまとめてラッパー クラスと呼ばれ、ラッパー クラスは java.lang パッケージ内にあります。
2. クラスをパッケージ化する目的
使いやすくするために、Java は 8 つの基本データ型をカプセル化します: Integer クラスと Character クラスに加えて、他の 6 つのクラスクラス名の最初の文字が大文字である限り、クラス名は基本データ型と一致している必要があります。
ブール値 —> ブール値
char —> 文字
byte—> Byte
short—> Short
long—> Long
int —> Integer
float—> Float
double—> Double
クラスをパッケージ化するには、There を使用します。
a. これらは、オブジェクトに関する操作を容易にするための基本的なデータ型に対応するクラスとして存在します。
b. 最大値、最小値などの各基本データ型の関連属性と、関連する演算メソッドが含まれます。
3. パッケージ化クラスの実際の使用法 (例として int と integer を取り上げます)
1. int クラスと integer クラス間の変換
In実際の変換時には、Integer クラスのコンストラクターと Integer クラス内の intValue メソッドを使用して、これらの型間の相互変換を実現します。
// int n=5; Integer n1=new Integer(n); System.out.println("int类型转换为integer类:"+n1); // Integer i=new Integer(50); int i1 = i.intValue(); System.out.println("integer类转换为int类型:"+i1);
2. Integer クラス内の共通メソッド
Integer クラスの主なメソッドは、parseInt メソッドと toString メソッドです。
//parseInt方法: 数字字符串类型转成int类型 String ss="123"; int ii = Integer.parseInt(ss); System.out.println("字符类型转成整型:"+ii); //toString方法:int类型转成数字字符串类型 int ii2=123; String ss2 = Integer.toString(ii2); System.out.println("int类型转成数字字符串类型:"+ss);
JDK はバージョン 1.5 以降、自動アンボックス構文を導入しました。つまり、基本データ型と対応するパッケージング クラスを変換するときに、システムが自動的に変換するため、プログラマのコード作成が大幅に容易になります。
(ビデオ チュートリアルの推奨: java ビデオ チュートリアル)
オートボクシング: Java のオブジェクト指向の考え方に準拠するために、基本的なデータ型をオブジェクト型にカプセル化します。
自動アンボックス化: オブジェクトを基本データ型に再変換します。
//5是基本数据类型,通过自动装箱变成对象类型。 //编译器执行了Integer iii = Integer.valueOf(5) Integer iii=5; //自动拆箱,实际上执行了 int iii2 = iii.intValue() int iii2=iii; System.out.println(iii2);
説明: Integer iii=5; は、Integer iii = Integer.valueOf(5) 演算を実行するコンパイラーと同等です。
このメソッドは Integer オブジェクトを返しますが、戻る前に i の現在の値が [-128,127] の差にあるかどうか、またこのオブジェクトが IntegerCache に存在するかどうかの判断とみなされます。存在する場合は参照を直接返し、それ以外の場合は新しいオブジェクトを作成します。
3. パッケージング クラスのキャッシュ値
各パッケージング クラスのキャッシュ値の範囲:
boolean:true和false byte:-128~127 char:0~127 short:-128~127 int:-128~127 long:-128~127
特記事項: float および double にはキャッシュがありません。
上記の値をボックス化する場合 (例: Character c1=127; または Integer i= Integer.valueOf(1); これは機能しません: Integer i2=new Integer(1);新しいオブジェクトを作成しているため)、新しいオブジェクトを作成するのではなく、キャッシュ内のオブジェクトを使用します。スコープを超える場合は、新しいオブジェクトを作成する必要があります。
以上がJavaパッケージングクラスの詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。