API使用時 基本データ型からラッパークラスへの変換
☆ Javaで用いられる型(変数を入れる箱)の種類
→「基本データ型」「参照型」の2種類
基本データ型に対応するクラスのことを、ラッパークラスという
ラッパークラスとは、基本データ型をクラス型に変換させてくれるもの
(クラスにすると、インスタンス化が出来るので、基本データ型をインスタンスとして扱えるようになる)
基本データ型 ラッパークラス
byte java.lang.Byte
short java.lang.Short
int java.lang.Integer
long java.lang.Long
float java.lang.Float
double java.lang.Double
char java.lang.Character
boolean java.lang.Boolean
〈ラッパークラスの役割〉
1:便利なメソッドの提供
ex. Int……Integerクラス
Integerクラスに入っているメソッド ふるまい
parseInt( ) 数字の文字列をint型に変換する
toHexString( ) 整数を16進数に変換する
※ラッパークラスに所属するメソッドは、いずれも静的メソッドで既に宣言されているため、インスタンス化しなくても使える
2:基本データ型をインスタンスとして扱えるようになる
ex int i_1=15;
Integer i_2=Integer.valueOf(i_1);
//int→Integerに変換
内部で「15」という値を保持するだけの極めてシンプルなインスタンス
int→数値そのもの
Integer→インスタンスに包まれた数値
Javaには、基本データ型を利用できないAPIがいくつか存在するので、 ラッパークラスへ変換して使う
☆ Javaルール
異なる型の変数に値は代入できない
int型の数値15
15はint型の変数の箱に入っているので、そのままでは型が異なるInteger型へは代入できない
⇨ そこで、次の構文を使ってint型の変数がInteger型に入るように変換する
〈int型→Integer型に変換させる場合〉
valueOf( );
ex. Integer i_2=Integer.valueOf( );
〈Integer型→int型に変換させる場合〉
[~Value( );メソッドを使う]
intValue( );
langValue( );
ex. int i_3=i_2.intValue( );
※ ちなみにJava5以降は上記の構文の記述がなくても、自動で変換してくれる