\r\n\r\n
Javaは、様々なアプリケーションの開発に使用される人気のプログラミング言語です。Javaの利点の1つは、オブジェクト指向プログラミング(OOP)をサポートしていることです。OOPでは、プログラムやソフトウェアをオブジェクトでモデル化することができます。クラスは、オブジェクトを作成するための設計図として使用されます。プログラミングでデータを保存することが必要です。データが格納される予約されたメモリロケーションを変数と呼びます。各変数は特定のデータ型を持っている。Java言語では8つの基本的な型が用意されている。プリミティブ型からオブジェクトに変換し、さらにオブジェクトからプリミティブ型に変換する必要がある場合もある。この変換にはラッパークラスが使用されます。この記事では、Javaにおけるラッパークラスとプリミティブ型の違いについて説明します。Javaにおけるラッパークラスとプリミティブ型の主な違いは、ラッパークラスがプロトタイプからオブジェクトに変換し、プロトタイプに戻すために使われるのに対し、プリミティブ型はJavaプログラミング言語が提供する定義済みのデータ型であることです。
1.概要と主な違い 2.Javaのラッパークラスとは 3.Javaのプリミティブ型とは 4.Javaのラッパークラスとプリミティブ型の類似点 5.表形式での並列比較 - Javaにおけるラッパークラスとプリミティブ型- 6.まとめ
Javaにおけるラッパークラスは、プリミティブなデータ型をオブジェクトに変換したり、オブジェクトをプリミティブな型に変換したりするために使用されます。プリミティブなデータ型でも、データ構造(配列リストやベクトルなど)はオブジェクトを格納するために使用されます。そのため、変換にはラッパークラスが必要です。プリミティブ型 char, byte, short, int に対応するラッパークラスは character, byte, short, Integer であり、long, float, double, boolean に対応するラッパークラスは long, float, double, boolean である。
図01:ラッパークラスからプリミティブ型への変換を行うJavaプログラム
上記プログラムによれば、intobj は integer ラッパークラスオブジェクト、floatobj は Float ラッパークラスオブジェクト、doubleobj は double ラッパークラスオブジェクトとなります。Integerオブジェクトをint型に変換するにはintValue()を、同様にFloatオブジェクトをFloat型に変換するにはfloatValue()を、DoubleオブジェクトをDouble型に変換するにはdoubleValue()を使用します。 もしプログラマがint i=intobj; と記述すればコンパイラは、以下のように判断します。は内部で目標値()を書き込む。ラッパークラスのオブジェクトを対応するプロトタイプに自動的に変換する処理をアンボックスと呼びます。ArrayListのようなコレクションは、オブジェクトを格納するため、ラッパークラスを使用します。
プリミティブデータ型は、Javaプログラミング言語が提供する定義済みのデータ型です。基本は8種類。byte, short, int, long, float, double, boolean, char. byteデータ型は、8ビット符号付き第2補数の整数を格納するために使用される。short データ型は 16 ビット符号付き 2 次補数整数、int データ型は 32 ビット符号付き 2 次補数整数、long データ型は 64 ビット単項の補数整数を格納するために使用される。浮動小数点は単精度32ビット浮動小数点値、倍精度浮動小数点は倍精度64ビット浮動小数点値を格納するために使用されます。Booleanは真偽を表すのに使われる。文字(Characters)は、1文字を格納するために使用される。以上が、Javaにおける8つの基本型である。
図02:プロトタイプ言語型からラッパークラスへの変換を行うJavaプログラム
上記のプログラムによれば、num1 は int 型である。num1を整数値()で渡すことにより。float1 は浮動小数点値を格納することができる。float1 を float-point-value() に渡すことで実現します。同様に double1 は double 値を格納することができる。doublevalue()に double1 を渡すことである。プログラマがbj=num1と整数で記述した場合、コンパイラは内部で整数値(num1)を記述します。このように、元の言語型を対応するラッパークラスオブジェクトに自動的に変換する処理をオートボックスと呼びます。
Javaにおけるラッパークラスとプリミティブ型 | |
ラッパークラスは、プリミティブ型をオブジェクトに変換したり、オブジェクトをプリミティブ型に変換するための機構を提供します。 | プリミティブ型は、Javaが提供する定義済みのデータ型である。 |
関連カテゴリ | |
ラッパークラスはオブジェクトを生成するために使用されるので,それに対応するクラスがあります. | プリミティブ型はオブジェクトではないので、クラスではありません。 |
Null値 | |
ラッパークラスオブジェクトにはNull値を指定することができます。 | プリミティブなデータ型には Null 値は許されない。 |
必要メモリ | |
元の言語タイプより多くのメモリを必要とする。 type **インデックスには追加のスペースは必要ない。 | ラッパークラスより少ないメモリで動作します。 |
コレクション | |
ArrayListのようなコレクションでラッパークラスを使用することができます。 | プリミティブ型は、コレクションには使用しません。 |
Java言語では、8つのプリミティブなデータ型が用意されています。プリミティブ型からオブジェクトに変換したり、オブジェクトからプリミティブ型に戻したりすることが必要な場合があります。Javaにおけるラッパークラスとプリミティブ型の違いは,ラッパークラスがプリミティブ型からオブジェクトへの変換やオブジェクトからプリミティブ型への変換に使われるのに対し,プリミティブ型はJavaプログラミング言語が提供する定義済みのデータ型であることです.