Integer クラスRevised: Jan./2nd/2002: Since: Jan./1st/2002
32 ビット整数を表す基本データ型である int 型のラップクラスです。
java.lang.Object
|
+--java.lang.Number
|
+--java.lang.Integer
API 仕様では次のように説明されています:
Integer クラスは、プリミティブ型
intの値をオブジェクト内にラップします。Integer型のオブジェクトには、型がintの単一のフィールドが入ります。さらにこのクラスは、
intをStringに、Stringをintに変換する各種メソッドや、intの処理時に役立つ定数およびメソッドも提供します。
Integer(int value) |
プリミティブな int の引数を表す、新しく割り当てられた Integer オブジェクトを構築します。 |
Integer(String s) |
文字列で表現される数値を表す、新しく割り当てられた Integer オブジェクトを生成します。 |
つまり、 Integer クラスは int 型か文字列型の変数/値を受け取って、オブジェクトを作ります。
メソッド、メンバ変数については、沢山あるので全ては紹介しません。詳細は API 仕様を直接ご確認ください。
ここに挙げたのは、次のサンプルで利用するメソッドのみです。
| 修飾子 | 戻り値型 | メソッド | 概要 |
|---|---|---|---|
boolean | equals(Object obj) |
このオブジェクトを指定されたオブジェクトと比較します。 | |
int | intValue() |
この Integer の値を int 値として返します。 | |
double | doubleValue() |
この Integer の値を double 値として返します。 | |
static | String | toBinaryString(int i) |
整数の引数の文字列表現を、基数 2 の符号なし整数として作成します。 |
static | String | toHexString(int i) |
整数型の引数の文字列表現を、基数 16 の符号なし整数として作成します。 |
static | String | toOctalString(int i) |
整数の引数の文字列表現を、基数 8 の符号なし整数として作成します。 |
static | int | parseInt(String s) |
文字列の引数を符号付き 10 進数の整数型として解析します。 |
static | int | parseInt(String s, int radix) |
2 番目の引数に指定された基数を元にして、文字列の引数を符号付き整数として解析します。 |
String | toString() |
この Integer の値を表す String オブジェクトを返します。 | |
static | String | toString(int i) |
指定された整数を表す新しい String オブジェクトを返します。 |
static | String | toString(int i, int radix) |
2 番目の引数を基数として、1 番目の引数の文字列表現を作成します。 |
次のサンプルは、コマンドライン引数の文字列を Integer 型のオブジェクトにラッピングします。
int 型、 double 型に変換します。static 型のメソッドを用いて 16 進、 8 進、 2 進での表現に変換します。static 型のメソッドを用いて int 型に変換します。
class TestInteger{
public static void main(String args[]){
//インスタンス化
Integer objInt=new Integer(args[0]);
System.out.println("objInt: "+objInt);
//オブジェクトとの比較
Integer objComp=new Integer(1011);
boolean valBln=objInt.equals(objComp);
System.out.println("objInt=1011? "+valBln);
//int 型への変換
int valInt=objInt.intValue();
System.out.println("int: "+valInt);
//double 型へ変換
double valDbl=objInt.doubleValue();
System.out.println("double: "+valDbl);
//n 進数変換
//int 型変数を n 進数に変換する
String valBin, valHex, valOct;
valBin=Integer.toBinaryString(valInt);
valHex=Integer.toHexString(valInt);
valOct=Integer.toOctalString(valInt);
System.out.println("16進数: "+valHex);
System.out.println(" 8進数: "+valOct);
System.out.println(" 2進数: "+valBin);
//文字列を n 進数の int 型に変換する
int valInt2, valInt3;
valInt2=Integer.parseInt(args[0]);
valInt3=Integer.parseInt(args[0], 2);
System.out.println("10 進数: "+valInt2);
System.out.println(" 2 進数だと解釈したときの値: "+valInt3);
}
}
引数を 2 進数表現だと解釈するメソッド parseInt(String s, 2) を使います。コマンドライン引数は 0 か 1 の組み合わせに限ってください。
C:\Java>javac TestInteger.java C:\Java>java TestInteger 1011 objInt: 1011 objInt=1011? true int: 1011 double: 1011.0 16進数: 3f3 8進数: 1763 2進数: 1111110011 10 進数: 1011 2 進数だと解釈したときの値: 11 C:\Java>java TestInteger 11 objInt: 11 objInt=1011? false int: 11 double: 11.0 16進数: b 8進数: 13 2進数: 1011 10 進数: 11 2 進数だと解釈したときの値: 3
ここでは int 型のラップクラス、 Integer について紹介しましたが、他の整数値型 byte, short, long のラップクラス Byte, Short, Long についても同じです。