ラッパークラスとオートボクシング

みるくあいらんどっ! > ドキュメント > Java > じっくり学ぶ Java講座 [初心者向け・入門]


ラッパークラス

8つの基本型に対応した 8つのクラスが存在しています。ラッパークラスと呼ばれます。

基本型 ラッパークラス
boolean Boolean
byte Byte
short Short
int Integer
char Character
float Float
double Double

オートボクシング

ジェネリクスには基本型を指定できません、ラッパークラスを指定します。しかし、値の代入や取り出しの際には、ラッパークラスを意識しないでソースコードを記述できます。これをオートボクシングと呼びます。

ソースコードは以下の通り。

V601/MySystem.java(ライブラリをそのまま利用します)

V601/V601.java

import java.util.ArrayList;
import java.util.List;

/**
 * オートボクシングとラッパークラス。
 */
public class V601 {
	
	/**
	 * メインメソッド。
	 * @param args 引数
	 */
	public static void main(String[] args) {
		// List<int>ではなく List<Integer>
		List<Integer> months = new ArrayList<>();
		
		// ラッパークラスへの変換が行われている
		months.add(31);
		months.add(28);
		months.add(31);
		months.add(30);
		months.add(31);
		months.add(30);
		months.add(31);
		months.add(31);
		months.add(30);
		months.add(31);
		months.add(30);
		months.add(31);
		
		int month = MySystem.in.getInt("月を入力してください");
		
		if(month < 1 || month > 12) {
			System.out.println("入力した値は異常です。");
		} else {
			// ラッパークラスからの変換が行われている
			int day = months.get(month - 1);
			System.out.println("うるう年ではない場合");
			System.out.println(month + "月は " + day + "日間あります。");
		}
	}
}

実行結果の例は以下の通り。

月を入力してください? 6
うるう年ではない場合
6月は 30日間あります。
最終更新: 2016/05/16 , 公開: 2015/01/26
▲top