Javaとクラスライブラリ ラッパークラス(5-6)

記事上広告

Javaの型には基本データ型や配列、クラスがあります。

基本データ型をクラスとして扱うことができるように、基本データ型に対応したラッパークラスと呼ばれるクラスが用意されています

ラッパークラスの種類

Javaの基本データ型は8種類あり、すべてに対応するラッパークラスがあります。ラッパークラスはjava.langに属するためimportは必要ありません。下表は基本データ型と対応するラッパークラスとなりますが、charとint以外の型は、基本データ型の頭文字を大文字にしたものです。

ラッパークラス名 対応する基本データ型
Character char
Byte byte
Short short
Integer int
Long long
Float float
Double double
Boolean boolean

※リンクは公式サイトへ移動します

ラッパークラスの用途

ラッパークラスの用途はいくつかありますが、多くの場合「基本データ型をオブジェクトとして扱う」「基本データ型とStringとの相互変換」で利用されます。

例えば、String型から基本データ型へ変換する記述としては、「Integer.parseInt(String s)」や「Double.parseDouble(String s)」等があります。逆に、基本データ型からString型へ変換する記述としては、「Integer.toString(int i)」や「Double.toString(double d)」等があります。

オートボクシング

Java5以降からはオートボクシング機能が追加され、基本データ型は対応するラッパークラスに自動的に変換されます。

逆に、ラッパークラスから基本データ型にも自動変換が行われます(アンボクシング機能)。

記述
従来 Integer a = new Integer(20);
int b = a.intValue();
自動変換 Integer a = 20;
int b = a;

基本データ型とラッパークラスの相互変換の記述が楽になりますが、Integerのインスタンスにnullが代入されている場合は実行時エラーとなりますので注意が必要です。

ラッパークラス サンプルプログラム

以下のプログラムを「Number48.java」という名前でWorkフォルダ内に保存します。

保存が完了したら、コマンドプロンプトを起動し、Number48.javaをコンパイルしてみましょう。※プログラムが長いため、必要に応じてコピペで確認してください

実行例

C:\work>javac Number48.java

C:\work>java Number48

今回は何も出力されません。また、下記の部分は自動変換を確認するための記述です。(あえてラッパークラスをインスタンス生成して基本データ型に格納してもメリットはない)

ラッパークラス 復習問題

String型からint型へ変換する記述として正しいものを選んでください
解答群
int i = Integer.toString(“100”);
int i = Integer.intValue(“100”);
int i = Integer.parseInt(“100”);
int i = Integer.toInt(“100”);
以下のプログラムをコンパイル・実行するとどのような結果になるか選んでください
解答群
コンパイルエラー
実行時エラー
aには0が代入される
aにはnullが代入される
char型に対応するラッパークラスとして正しいクラスを選んでください
解答群
Character
Char
character
CHARACTER
お疲れ様でした。

まとめ

  • 基本データ型に対応するクラスをラッパークラスと呼ぶ
  • ラッパークラスを用いることで基本データ型をオブジェクトとして扱うことができる
  • Stringと基本データ型への変換処理をできる
  • ラッパークラスは基本データ型と相互に自動変換ができる
スポンサーリンク
レクタングル