public final class Integer extends Number implements Comparable<Integer>
Integer
クラスは、プリミティブ型 int
の値をオブジェクトにラップします。Integer
型のオブジェクトには、型が int
の単一フィールドが含まれます。
さらにこのクラスは、int
を String
に、String
を int
に変換する各種メソッドや、int
の処理時に役立つ定数およびメソッドも提供します。
実装にあたっての注意:「bit twiddling (ビット回転)」メソッド (highestOneBit
や numberOfTrailingZeros
など) の実装は、Henry S. Warren, Jr. 著『Hacker's Delight』(Addison Wesley, 2002) に基づいています。
修飾子と型 | フィールドと説明 |
---|---|
static int |
MAX_VALUE
int に設定可能な最大値 231-1 を保持する定数 |
static int |
MIN_VALUE
int に設定可能な最小値 -231 を保持する定数 |
static int |
SIZE
2 の補数バイナリ形式で
int 値を表すのに使用されるビット数です。 |
static Class<Integer> |
TYPE
プリミティブ型
int を表す Class インスタンス |
コンストラクタと説明 |
---|
Integer(int value)
指定された
int 値を表す、新しく割り当てられた Integer オブジェクトを構築します。 |
Integer(String s)
String パラメータで示される int 値を表す、新しく割り当てられた Integer オブジェクトを構築します。 |
修飾子と型 | メソッドと説明 |
---|---|
static int |
bitCount(int i)
指定された
int 値の 2 の補数バイナリ表現での、1 のビットの数を返します。 |
byte |
byteValue()
この
Integer の値を byte として返します。 |
static int |
compare(int x, int y)
2 つの
int 値を数値的に比較します。 |
int |
compareTo(Integer anotherInteger)
2 つの
Integer オブジェクトを数値的に比較します。 |
static Integer |
decode(String nm)
String を Integer にデコードします。 |
double |
doubleValue()
この
Integer の値を double として返します。 |
boolean |
equals(Object obj)
このオブジェクトを指定されたオブジェクトと比較します。
|
float |
floatValue()
この
Integer の値を float として返します。 |
static Integer |
getInteger(String nm)
指定された名前のシステムプロパティーの整数値を判定します。
|
static Integer |
getInteger(String nm, int val)
指定された名前のシステムプロパティーの整数値を判定します。
|
static Integer |
getInteger(String nm, Integer val)
指定された名前のシステムプロパティーの整数値を返します。
|
int |
hashCode()
この
Integer のハッシュコードを返します。 |
static int |
highestOneBit(int i)
指定された
int 値の最上位 (「もっとも左側」) の 1 のビットの位置に最大で 1 つの 1 のビットを持つ int 値を返します。 |
int |
intValue()
この
Integer の値を int として返します。 |
long |
longValue()
この
Integer の値を long として返します。 |
static int |
lowestOneBit(int i)
指定された
int 値の最下位 (「もっとも右側」) の 1 のビットの位置に最大で 1 つの 1 のビットを持つ int 値を返します。 |
static int |
numberOfLeadingZeros(int i)
指定された
int 値の 2 の補数バイナリ表現の最上位 (「もっとも左側」) の 1 のビットに先行するゼロのビットの数を返します。 |
static int |
numberOfTrailingZeros(int i)
指定された
int 値の 2 の補数バイナリ表現で最下位 (「もっとも右側」) の 1 ビットに続くゼロのビットの数を返します。 |
static int |
parseInt(String s)
文字列の引数を符号付き 10 進数の整数型として構文解析します。
|
static int |
parseInt(String s, int radix)
2 番目の引数に指定された基数をもとにして、文字列の引数を符号付き整数として構文解析します。
|
static int |
reverse(int i)
指定された
int 値の 2 の補数バイナリ表現でビットの順序を逆にして取得された値を返します。 |
static int |
reverseBytes(int i)
指定された
int 値の 2 の補数バイナリ表現でバイトの順序を逆にして取得された値を返します。 |
static int |
rotateLeft(int i, int distance)
指定された
int 値の 2 の補数バイナリ表現を指定したビット数だけ左に回転して取得された値を返します。 |
static int |
rotateRight(int i, int distance)
指定された
int 値の 2 の補数バイナリ表現を指定したビット数だけ右に回転して取得された値を返します。 |
short |
shortValue()
この
Integer の値を short として返します。 |
static int |
signum(int i)
指定された
int 値の符号要素を返します。 |
static String |
toBinaryString(int i)
整数引数の文字列表現を、基数 2 の符号なし整数として返します。
|
static String |
toHexString(int i)
整数引数の文字列表現を、基数 16 の符号なし整数として返します。
|
static String |
toOctalString(int i)
整数引数の文字列表現を、基数 8 の符号なし整数として返します。
|
String |
toString()
Integer の値を表す String オブジェクトを返します。 |
static String |
toString(int i)
指定された整数を表す
String オブジェクトを返します。 |
static String |
toString(int i, int radix)
2 番目の引数を基数として、1 番目の引数の文字列表現を返します。
|
static Integer |
valueOf(int i)
指定された
int 値を表す Integer インスタンスを返します。 |
static Integer |
valueOf(String s)
指定された
String の値を保持する Integer オブジェクトを返します。 |
static Integer |
valueOf(String s, int radix)
2 番目の引数で指定された基数を使用した構文解析時に、指定された
String から抽出された値を保持する Integer オブジェクトを返します。 |
public static final int MIN_VALUE
int
に設定可能な最小値 -231 を保持する定数public static final int MAX_VALUE
int
に設定可能な最大値 231-1 を保持する定数public static final int SIZE
int
値を表すのに使用されるビット数です。public Integer(int value)
int
値を表す、新しく割り当てられた Integer
オブジェクトを構築します。value
- Integer
オブジェクトによって表される値。public Integer(String s) throws NumberFormatException
String
パラメータで示される int
値を表す、新しく割り当てられた Integer
オブジェクトを構築します。文字列は、基数 10 で parseInt
メソッドを使用するのと同じように int
値に変換されます。s
- Integer
に変換する String
。NumberFormatException
- String
が解析可能な整数を含まない場合。parseInt(java.lang.String, int)
public static String toString(int i, int radix)
基数が Character.MIN_RADIX
よりも小さい場合、あるいは Character.MAX_RADIX
よりも大きい場合は、代わりに 10
を基数として使います。
1 番目の引数が負の数である場合、生成された文字列の 1 番目の要素はマイナス記号の ASCII 文字 '-'
('\u002D'
) になります。1 番目の引数が負の数でない場合、生成された文字列には符号が付きません。
生成された文字列の残りの文字は、1 番目の引数の絶対値を表します。絶対値がゼロである場合は、単一のゼロ文字 '0'
('\u0030'
) で表されます。それ以外の場合は、絶対値を表す文字の 1 番目の文字はゼロではありません。次の ASCII 文字を、数字の桁に使います。
0123456789abcdefghijklmnopqrstuvwxyz
これらは '\u0030'
- '\u0039'
および '\u0061'
- '\u007A'
です。radix
が N の場合、これらの文字の先頭から N 個が、示した順に基数 N の桁として使用されます。すなわち、16 進数 (基数は 16) に使われる桁の数字は 0123456789abcdef
となります。大文字を使いたい場合は、生成された文字列に対して String.toUpperCase()
メソッドを呼び出すことができます。
Integer.toString(n, 16).toUpperCase()
i
- 文字列に変換する整数。radix
- 文字列表現で使用する基数。Character.MAX_RADIX
, Character.MIN_RADIX
public static String toHexString(int i)
符号なし int 値は、引数が負の数の場合は、引数に 232 を加算した値になります。それ以外の場合は、引数に等しい値になります。この値は、16 進数表記 (基数 16) の ASCII 文字列による数字となります。前に 0
は付きません。符号なしの絶対値がゼロの場合は、単一のゼロ文字 '0'
('\u0030'
) で表されます。それ以外の場合は、符号なしの絶対値を表す文字の 1 文字目はゼロではありません。16 進数の桁には、次の文字を使います。
0123456789abcdef
これらは文字 '\u0030'
- '\u0039'
および '\u0061'
- '\u0066'
です。大文字を使いたい場合は、生成された文字列に対して String.toUpperCase()
メソッドを呼び出すことができます。
Integer.toHexString(n).toUpperCase()
i
- 文字列に変換する整数。public static String toOctalString(int i)
符号なし int 値は、引数が負の数の場合は、引数に 232 を加算した値になります。それ以外の場合は、引数に等しい値になります。この値は、8 進数 (基数 8) の ASCII 文字列に変換されます。前に 0
は付きません。
符号なしの絶対値がゼロである場合は、単一のゼロ文字 '0'
('\u0030'
) で表されます。それ以外の場合は、符号なしの絶対値を表す文字の 1 番目の文字はゼロではありません。次の ASCII 文字を、8 進数の桁に使います。
01234567
これらは文字 '\u0030'
- '\u0037'
です。i
- 文字列に変換する整数。public static String toBinaryString(int i)
符号なし int 値は、引数が負の数の場合は、引数に 232 を加算した値になります。それ以外の場合は、引数に等しい値になります。この値は、2 進数表記 (基数 2) の ASCII 文字列による数字となります。前に 0
は付きません。符号なしの絶対値がゼロの場合は、単一のゼロ文字 '0'
('\u0030'
) で表されます。それ以外の場合は、符号なしの絶対値を表す文字の 1 文字目はゼロではありません。2 進数の桁には、文字 '0'
('\u0030'
) および '1'
('\u0031'
) が使用されます。
i
- 文字列に変換する整数。public static String toString(int i)
String
オブジェクトを返します。引数は、符号付き 10 進数表現に変換されてから文字列として返されます。これは、引数および基数 10 を toString(int, int)
メソッドへの引数として指定した場合とまったく同じです。i
- 変換される整数。public static int parseInt(String s, int radix) throws NumberFormatException
Character.digit(char, int)
から負でない値が返されるかどうかで判定)。ただし先頭の文字だけは、負の値を示す ASCII マイナス記号 '-'
('\u002D'
)、正の値を示す ASCII プラス記号 '+'
('\u002B'
) のいずれかであってもかまいません。結果として得られる整数値を返します。
以下に挙げる状況のどれかが発生した場合に、NumberFormatException
型の例外がスローされます。
null
であるか、長さゼロの文字列である。
Character.MIN_RADIX
よりも小さいか、Character.MAX_RADIX
よりも大きい。
'-'
('\u002D'
) またはプラス記号 '+'
('\u002B'
) であってもかまわない。
int
型の値ではない。
例
parseInt("0", 10) returns 0 parseInt("473", 10) returns 473 parseInt("+42", 10) returns 42 parseInt("-0", 10) returns 0 parseInt("-FF", 16) returns -255 parseInt("1100110", 2) returns 102 parseInt("2147483647", 10) returns 2147483647 parseInt("-2147483648", 10) returns -2147483648 parseInt("2147483648", 10) throws a NumberFormatException parseInt("99", 8) throws a NumberFormatException parseInt("Kona", 10) throws a NumberFormatException parseInt("Kona", 27) returns 411787
s
- 解析対象の整数表現を含む String
radix
- s
の構文解析時に使用する基数。NumberFormatException
- String
が解析可能な int
を含まない場合。public static int parseInt(String s) throws NumberFormatException
'-'
('\u002D'
)、正の値を示す ASCII プラス記号 '+'
('\u002B'
) のいずれであってもかまいません。結果として得られる整数値が返されます。これは、この引数と基数 10 が parseInt(java.lang.String, int)
メソッドに引数として指定された場合とまったく同じです。s
- 解析対象の int
表現を含む String
NumberFormatException
- 文字列が解析可能な整数型を含まない場合。public static Integer valueOf(String s, int radix) throws NumberFormatException
String
から抽出された値を保持する Integer
オブジェクトを返します。最初の引数は、2 番目の引数で指定された基数内の符号付き整数として解釈されます。これは、引数が parseInt(java.lang.String, int)
メソッドに渡された場合とまったく同じです。生成された結果は、文字列により指定された整数値を表す Integer
オブジェクトになります。
つまり、このメソッドが返す Integer
オブジェクトの値は、次の値に等しくなります。
new Integer(Integer.parseInt(s, radix))
s
- 解析される文字列。radix
- 次を解釈するときに使用される基数: s
Integer
オブジェクト。NumberFormatException
- String
が解析可能な int
を含まない場合。public static Integer valueOf(String s) throws NumberFormatException
String
の値を保持する Integer
オブジェクトを返します。引数は、符号付き 10 進数整数として解釈されます。これは、parseInt(java.lang.String)
メソッドに引数が指定された場合とまったく同じです。生成された結果は、文字列により指定された整数値を表す Integer
オブジェクトになります。
つまり、このメソッドが返す Integer
オブジェクトの値は、次の値に等しくなります。
new Integer(Integer.parseInt(s))
s
- 解析される文字列。Integer
オブジェクト。NumberFormatException
- 文字列が解析可能な整数型を含まない場合。public static Integer valueOf(int i)
int
値を表す Integer
インスタンスを返します。新規 Integer
インスタンスが不要な場合、通常このメソッドがコンストラクタ Integer(int)
に優先して使用されます。その理由は、このメソッドが頻繁に要求される値をキャッシュするので、操作に必要な領域や時間がはるかに少なくて済む場合が多いためです。
このメソッドは、-128 から 127 の範囲 (両端含む) の値を常にキャッシュしますが、この範囲に含まれないその他の値もキャッシュすることがあります。i
- int
値。i
を表す Integer
インスタンス。public byte byteValue()
Integer
の値を byte
として返します。public short shortValue()
Integer
の値を short
として返します。shortValue
、クラス: Number
short
型に変換した値。public int intValue()
Integer
の値を int
として返します。public long longValue()
Integer
の値を long
として返します。public float floatValue()
Integer
の値を float
として返します。floatValue
、クラス: Number
float
型に変換した値。public double doubleValue()
Integer
の値を double
として返します。doubleValue
、クラス: Number
double
型に変換した値。public String toString()
Integer
の値を表す String
オブジェクトを返します。値は、符号付きの 10 進数表現に変換され、文字列として返されます。整数値が toString(int)
メソッドの引数として指定された場合とまったく同じです。public int hashCode()
Integer
のハッシュコードを返します。hashCode
、クラス: Object
Integer
オブジェクトが表すプリミティブ型 int
値に等しい。Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
public boolean equals(Object obj)
true
になるのは、引数が null
ではなく、このオブジェクトと同じ int
値を含む Integer
オブジェクトである場合だけです。equals
、クラス: Object
obj
- 比較対象のオブジェクト。true
、そうでない場合は false
。Object.hashCode()
、HashMap
public static Integer getInteger(String nm)
1 番目の引数は、システムプロパティーの名前として扱われます。システムプロパティーには System.getProperty(java.lang.String)
メソッド経由でアクセスできます。次にこのプロパティーの文字列値が整数値として扱われ、その値を表す Integer
オブジェクトが返されます。可能な数値形式については、getProperty
の定義を参照してください。
指定された名前を持つプロパティーがない場合、指定された名前が空白または null
の場合、あるいはプロパティーが適切な数値形式でない場合は、null
が返されます。
つまり、このメソッドが返す Integer
オブジェクトの値は、次の値に等しくなります。
getInteger(nm, null)
nm
- プロパティー名。Integer
値。System.getProperty(java.lang.String)
, System.getProperty(java.lang.String, java.lang.String)
public static Integer getInteger(String nm, int val)
1 番目の引数は、システムプロパティーの名前として扱われます。システムプロパティーには System.getProperty(java.lang.String)
メソッド経由でアクセスできます。次にこのプロパティーの文字列値が整数値として扱われ、その値を表す Integer
オブジェクトが返されます。可能な数値形式については、getProperty
の定義を参照してください。
2 番目の引数はデフォルトの値です。指定された名前のプロパティーがない場合、該当するプロパティーが適切な数値形式でない場合、あるいは指定した名前が空白または null
の場合は、Integer
オブジェクトが示す 2 番目の引数が返されます。
つまり、このメソッドが返す Integer
オブジェクトの値は、次の値に等しくなります。
getInteger(nm, new Integer(val))
しかし実際には、次のように実装されます。
この実装により、デフォルトの値が不要な場合に、Integer result = getInteger(nm, null); return (result == null) ? new Integer(val) : result;
Integer
オブジェクトの余計な割り当てを避けることができます。nm
- プロパティー名。val
- デフォルト値。Integer
値。System.getProperty(java.lang.String)
, System.getProperty(java.lang.String, java.lang.String)
public static Integer getInteger(String nm, Integer val)
System.getProperty(java.lang.String)
メソッド経由でアクセスできます。次にこのプロパティーの文字列値が Integer.decode
メソッドの場合と同じように整数値として解釈され、この値を表す Integer
オブジェクトが返されます。
0x
または ASCII 文字 #
で始まり、その後にマイナス符号がない場合は、値の残りはメソッド valueOf(java.lang.String, int)
を基数 16 で使う場合とまったく同じように 16 進整数として解析される。
0
で始まり、それに別の文字が続く場合、値は valueOf(java.lang.String, int)
メソッドを基数 8 で使う場合とまったく同じように 8 進整数として解析される。
valueOf(java.lang.String, int)
メソッドを基数 10 で使う場合とまったく同じように 10 進整数として構文解析される。
2 番目の引数はデフォルトの値です。指定された名前のプロパティーがない場合、該当するプロパティーが適切な数値形式でない場合、あるいは指定した名前が空白または null
の場合は、デフォルト値が返されます。
nm
- プロパティー名。val
- デフォルト値。Integer
値。System.getProperty(java.lang.String)
, System.getProperty(java.lang.String, java.lang.String)
, decode(java.lang.String)
public static Integer decode(String nm) throws NumberFormatException
String
を Integer
にデコードします。次の文法の 10 進数、16 進数、および 8 進数を指定できます。
DecimalNumeral、HexDigits、および OctalDigits は、『Java™ 言語仕様』のセクション 3.10.1 で規定されているとおりですが、桁間のアンダースコアが受け入れられない点は規定と異なります。
- DecodableString:
- Signopt DecimalNumeral
- Signopt
0x
HexDigits- Signopt
0X
HexDigits- Signopt
#
HexDigits- Signopt
0
OctalDigits
- Sign:
-
+
オプションの符号と基数指示子のどちらかまたはその両方に続く文字シーケンス (「0x
」、「0X
」、「#
」、または先頭のゼロ) は、指定された基数 (10、16、または 8) で Integer.parseInt
メソッドを使う場合と同じように構文解析されます。この文字シーケンスは正の数でなければならず、そうでない場合は NumberFormatException
がスローされます。指定された String
の最初の文字が負の符号である場合、生成された結果は否定されます。String
に空白文字を指定することはできません。
nm
- デコードする String
。nm
により表される int
値を保持する Integer
オブジェクトNumberFormatException
- String
が解析可能な整数を含まない場合。parseInt(java.lang.String, int)
public int compareTo(Integer anotherInteger)
Integer
オブジェクトを数値的に比較します。compareTo
、インタフェース: Comparable<Integer>
anotherInteger
- 比較対象の Integer
。Integer
が引数 Integer
と等しい場合は値 0
。この Integer
が引数 Integer
より小さい数値の場合は 0
より小さい値。この Integer
が引数 Integer
より大きい数値の場合は 0
より大きい値 (符号付きの比較)。public static int compare(int x, int y)
int
値を数値的に比較します。返される値は、次から返される値と同じになります。
Integer.valueOf(x).compareTo(Integer.valueOf(y))
x
- 比較する最初の int
y
- 比較する 2 番目の int
x == y
の場合は値 0
、x < y
の場合は 0
より小さい値、x > y
の場合は 0
より大きい値public static int highestOneBit(int i)
int
値の最上位 (「もっとも左側」) の 1 のビットの位置に最大で 1 つの 1 のビットを持つ int
値を返します。指定された値が 2 の補数バイナリ表現の 1 のビットを持たない場合、つまりゼロに等しい場合はゼロを返します。int
値。指定された値がゼロに等しい場合はゼロ。public static int lowestOneBit(int i)
int
値の最下位 (「もっとも右側」) の 1 のビットの位置に最大で 1 つの 1 のビットを持つ int
値を返します。指定された値が 2 の補数バイナリ表現の 1 のビットを持たない場合、つまりゼロに等しい場合はゼロを返します。int
値。指定された値がゼロに等しい場合はゼロ。public static int numberOfLeadingZeros(int i)
int
値の 2 の補数バイナリ表現の最上位 (「もっとも左側」) の 1 のビットに先行するゼロのビットの数を返します。指定された値が 2 の補数表現の 1 のビットを持たない場合、つまりゼロに等しい場合は 32 を返します。
このメソッドは、2 を底とする対数に密接に関係しています。すべての正の int
値 x の場合、
31 - numberOfLeadingZeros(x)
32 - numberOfLeadingZeros(x - 1)
int
値の 2 の補数バイナリ表現で最上位 (「もっとも左側」) の 1 のビットに先行するゼロのビットの数。指定された値がゼロに等しい場合は 32。public static int numberOfTrailingZeros(int i)
int
値の 2 の補数バイナリ表現で最下位 (「もっとも右側」) の 1 ビットに続くゼロのビットの数を返します。指定された値が 2 の補数表現の 1 のビットを持たない場合、つまりゼロに等しい場合は 32 を返します。int
値の 2 の補数バイナリ表現で最下位 (「もっとも右側」) の 1 ビットに続くゼロのビットの数。指定された値がゼロに等しい場合は 32。public static int bitCount(int i)
int
値の 2 の補数バイナリ表現での、1 のビットの数を返します。この関数は、ポピュレーションカウントと呼ばれる場合があります。int
値の 2 の補数バイナリ表現での、1 のビットの数。public static int rotateLeft(int i, int distance)
int
値の 2 の補数バイナリ表現を指定したビット数だけ左に回転して取得された値を返します。ビットは、左側つまり上位にシフトされ、右側つまり下位に入ります。
負の距離による左回転は、右回転と等価です (rotateLeft(val, -distance) == rotateRight(val, distance)
)。また、32 の倍数による回転は何もしません。つまり、回転距離の最後の 5 ビット以外は、距離が負の場合でもすべて無視できます。 rotateLeft(val, distance) == rotateLeft(val, distance & 0x1F)
.
int
値の 2 の補数バイナリ表現を指定されたビット数だけ左に回転して取得した値。public static int rotateRight(int i, int distance)
int
値の 2 の補数バイナリ表現を指定したビット数だけ右に回転して取得された値を返します。ビットは、右側つまり下位にシフトされ、左側つまり上位に入ります。
負の距離による右回転は、左回転と等価です (rotateRight(val, -distance) == rotateLeft(val, distance)
)。また、32 の倍数による回転は何もしません。つまり、回転距離の最後の 5 ビット以外は、距離が負の場合でもすべて無視できます (rotateRight(val, distance) == rotateRight(val, distance & 0x1F)
)。
int
値の 2 の補数バイナリ表現を指定されたビット数だけ右に回転して取得された値。public static int reverse(int i)
int
値の 2 の補数バイナリ表現でビットの順序を逆にして取得された値を返します。int
値でバイト順を逆にして取得された値。public static int signum(int i)
int
値の符号要素を返します。(指定した値が負の場合、戻り値は -1。指定された値がゼロの場合は 0。指定した値が正の場合は 1)。int
値の符号要素。public static int reverseBytes(int i)
int
値の 2 の補数バイナリ表現でバイトの順序を逆にして取得された値を返します。int
値のバイト順を逆にして取得された値。 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.