Java での自動ボックス化/ボックス化解除
Java での自動ボックス化とボックス化解除により、プリミティブ データ型とそれに対応するラッパー クラス間の型変換が簡素化されます。 JDK 5.0 で導入されたこの機能は、これら 2 つの表現のシームレスな統合を提供します。
オート ボクシング
ラッパー クラス変数にプリミティブ値を割り当てると、オート ボクシングが発生します。 。ラッパー クラス コンストラクターが使用されるという想定に反して、代わりに静的メソッド valueOf() が呼び出されます。これは、次のコードに対して生成されたバイトコードで明らかです:
valueOf() メソッドは、作成されたオブジェクトをキャッシュし、リソース効率を確保します。
自動アンボックス化
逆に、ラッパー クラス変数からプリミティブ値を抽出する場合、自動アンボックス化が発生します。このプロセスは、
のバイトコードに示されているように、整数に対して intValue() メソッド (および他の型に対しては同様のメソッド) を利用します。このメソッドは単にラッパー オブジェクト内に格納されているプリミティブ値を返します。 .
要約すると、自動ボックス化/アンボックス化には、静的メソッド valueOf() および intValue() (または同様のもの) を使用して、プリミティブ クラス表現とラッパー クラス表現の間で透過的に変換することが含まれます。これにより、キャッシュ メカニズムを利用することでコードが簡素化され、パフォーマンスが向上します。
以上がJava での自動ボックス化/アンボックス化はどのように機能しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。