1. ボックス化とアンボックス化とは
ボックス化: 基本的なデータ型をパッケージ化クラスに変換します。
アンボックス化: ラッパー クラスを基本データ型に変換します。
基本データ型に対応するパッケージング クラス:
int (数バイト 4) - 整数
byte (1) - Byte
short (2) - Short
long (8) - Long
float (4) - Float
double (8) - Double
char (2) ) - Character
boolean (未定義) - Boolean
無料のオンライン ビデオ学習チュートリアルの推奨事項: java ビデオ チュートリアル
2. まずはやってみましょう手動ボックス化と手動アンボックス化を見てください
例: int と Integer を例として取り上げます
Integer i1=Integer.valueOf(3); int i2=i1.intValue();
手動ボックス化は valueOf を通じて行われます。= が On に正しい値を割り当てることは誰もが知っています。左の 3 は int 型で、左に代入すると整数ラッパー クラスになります。
手動のボックス化解除は intValue() を通じて行われます。コードを通して、i1 が Integer から int に変化することがわかります
3。手動で読み取った後、自動# を見てみましょう。
##技術担当者の作業を容易にするために、Java は jdk1.5 から自動ボックス化およびボックス化解除に変更されました。上記の例を見てみましょう: Manual:Integer i1=Integer.valueOf(3); int i2=i1.intValue();
Integer i1=3; int i2=i1;
4. いくつかの質問から自動ボックス化とボックス化解除について理解を深めます
(1)Integer a = 100; int b = 100; System.out.println(a==b);结果为 true
Integer a = 100; Integer b = 100; System.out.println(a==b);//结果为true Integer a = 200; Integer b = 200; System.out.println(a==b);//结果为false
private static class IntegerCache { static final int low = -128; static final int high; static final Integer cache[]; static { // high value may be configured by property int h = 127; String integerCacheHighPropValue = sun.misc.VM.getSavedProperty("java.lang.Integer.IntegerCache.high"); if (integerCacheHighPropValue != null) { try { int i = parseInt(integerCacheHighPropValue); i = Math.max(i, 127); // Maximum array size is Integer.MAX_VALUE h = Math.min(i, Integer.MAX_VALUE - (-low) -1); } catch( NumberFormatException nfe) { // If the property cannot be parsed into an int, ignore it. } } high = h; cache = new Integer[(high - low) + 1]; int j = low; for(int k = 0; k < cache.length; k++) cache[k] = new Integer(j++); // range [-128, 127] must be interned (JLS7 5.1.7) assert IntegerCache.high >= 127; }
Integer a = new Integer(100); Integer b = 100; System.out.println(a==b); //结果为false
Integer a = 100; Integer b= 100; System.out.println(a == b); //结果true a = 200; b = 200; System.out.println(c == d); //结果为false
以上がJava での自動ボックス化とボックス化解除についての深い理解の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。