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
についても同じです。