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 |
BYTES
2の補数バイナリ形式で
int値を表すために使用されるバイト数。 |
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 int |
compareUnsigned(int x, int y)
2つの
int値を符号なしとして処理して数値的に比較します。 |
static Integer |
decode(String nm)
StringをIntegerにデコードします。 |
static int |
divideUnsigned(int dividend, int divisor)
第1引数を第2引数で除算した符号なしの商を返します(各引数と結果は符号なしの値として解釈されます)。
|
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 |
hashCode(int value)
Integer.hashCode()との互換性がある、int値のハッシュ・コードを返します。 |
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 |
max(int a, int b)
Math.maxを呼び出した場合と同様に、2つのint値の大きいほうを返します。 |
static int |
min(int a, int b)
Math.minを呼び出した場合と同様に、2つの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 |
parseUnsignedInt(String s)
文字列の引数を符号なし10進数の整数として構文解析します。
|
static int |
parseUnsignedInt(String s, int radix)
2番目の引数に指定された基数をもとにして、文字列の引数を符号なし整数として構文解析します。
|
static int |
remainderUnsigned(int dividend, int divisor)
第1引数を第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 int |
sum(int a, int b)
+演算子のように、2つの整数を加算します。
|
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 long |
toUnsignedLong(int x)
符号なし変換によって、その引数を
longに変換します。 |
static String |
toUnsignedString(int i)
引数の文字列表現を、符号なし10進値として返します。
|
static String |
toUnsignedString(int i, int radix)
1番目の引数の文字列表現を、2番目の引数で指定された基数の符号なし整数値として返します。
|
static Integer |
valueOf(int i)
指定された
int値を表すIntegerインスタンスを返します。 |
static Integer |
valueOf(String s)
指定された
Stringの値を保持するIntegerオブジェクトを返します。 |
static Integer |
valueOf(String s, int radix)
2番目の引数で指定された基数を使用した構文解析時に、指定された
Stringから抽出された値を保持するIntegerオブジェクトを返します。 |
@Native public static final int SIZE
int値を表すのに使用されるビット数です。public static final int BYTES
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_RADIXpublic static String toUnsignedString(int i, int radix)
基数がCharacter.MIN_RADIXよりも小さい場合、あるいはCharacter.MAX_RADIXよりも大きい場合は、代わりに10を基数として使います。
第1引数は符号なしの値として扱われるため、先行する符号文字が出力されないことに注意してください。
絶対値がゼロである場合は、単一のゼロ文字'0' ('\u0030')で表されます。それ以外の場合は、絶対値を表す文字の1番目の文字はゼロにはなりません。
基数の動作、および数字の桁に使用される文字は、toStringと同じです。
i - 符号なし文字列に変換される整数。radix - 文字列表現で使用する基数。toString(int, int)public static String toHexString(int i)
符号なしint値は、引数が負の数の場合は、引数に232を加算した値になります。それ以外の場合は、引数に等しい値になります。この値は、16進数(基数16)のASCII文字列に変換されます。前に0は付きません。
引数の値を、返された文字列sから復元するには、Integer.parseUnsignedInt(s, 16)を呼び出します。
符号なし絶対値がゼロである場合は、単一のゼロ文字'0' ('\u0030')で表されます。それ以外の場合は、符号なし絶対値を表す文字の1番目の文字はゼロにはなりません。16進数の桁には、次の文字を使います。
0123456789abcdef
これらは文字'\u0030' - '\u0039'および'\u0061' - '\u0066'です。大文字を使いたい場合は、生成された文字列に対してString.toUpperCase()メソッドを呼び出すことができます。
Integer.toHexString(n).toUpperCase()
i - 文字列に変換する整数。parseUnsignedInt(String, int), toUnsignedString(int, int)public static String toOctalString(int i)
符号なしint値は、引数が負の数の場合は、引数に232を加算した値になります。それ以外の場合は、引数に等しい値になります。この値は、8進数(基数8)のASCII文字列に変換されます。前に0は付きません。
引数の値を、返された文字列sから復元するには、Integer.parseUnsignedInt(s, 8)を呼び出します。
符号なし絶対値がゼロである場合は、単一のゼロ文字'0' ('\u0030')で表されます。それ以外の場合は、符号なし絶対値を表す文字の1番目の文字はゼロにはなりません。次のASCII文字を、8進数の桁に使います。
01234567
これらは文字'\u0030' - '\u0037'です。i - 文字列に変換する整数。parseUnsignedInt(String, int), toUnsignedString(int, int)public static String toBinaryString(int i)
符号なしint値は、引数が負の数の場合は、引数に232を加算した値になります。それ以外の場合は、引数に等しい値になります。この値は、2進数(基数2)のASCII文字列に変換されます。前に0は付きません。
引数の値を、返された文字列sから復元するには、Integer.parseUnsignedInt(s, 2)を呼び出します。
符号なし絶対値がゼロである場合は、単一のゼロ文字'0' ('\u0030')で表されます。それ以外の場合は、符号なし絶対値を表す文字の1番目の文字はゼロにはなりません。2進数の桁には、文字'0' ('\u0030')および'1' ('\u0031')を使います。
i - 文字列に変換する整数。parseUnsignedInt(String, int), toUnsignedString(int, int)public static String toString(int i)
Stringオブジェクトを返します。引数は、符号付き10進数表現に変換されてから文字列として返されます。これは、引数および基数10をtoString(int, int)メソッドへの引数として指定した場合とまったく同じです。i - 変換される整数。public static String toUnsignedString(int i)
toUnsignedString(int, int)メソッドへの引数として指定した場合とまったく同じです。i - 符号なし文字列に変換される整数。toUnsignedString(int, int)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 - 解析対象の整数表現を含むStringradix - sの構文解析時に使用する基数。NumberFormatException - Stringが解析可能なintを含まない場合。public static int parseInt(String s) throws NumberFormatException
'-' ('\u002D')、正の値を示すASCIIプラス記号'+' ('\u002B')のどちらであってもかまいません。結果となる整数値が返されます。これは、その引数と基数10がparseInt(java.lang.String, int)メソッドに引数として指定された場合とまったく同じです。s - 解析対象のint表現を含むStringNumberFormatException - 文字列が解析可能な整数型を含まない場合。public static int parseUnsignedInt(String s, int radix) throws NumberFormatException
MAX_VALUEよりも大きい正の数値にマップします。文字列内の文字はすべて、指定された基数の桁である必要があります(Character.digit(char, int)から負でない値が返されるかどうかで判定)。ただし先頭の文字だけは、ASCIIプラス記号'+' ('\u002B')であってもかまいません。結果として得られる整数値を返します。
以下に挙げる状況のどれかが発生した場合に、NumberFormatException型の例外がスローされます。
nullであるか、長さゼロの文字列である。
Character.MIN_RADIXよりも小さいか、Character.MAX_RADIXよりも大きい。
'+' ('\u002B')であってもかまわない。
int(232-1)よりも大きい。
s - 解析対象の符号なし整数表現を含むStringradix - sの構文解析時に使用する基数。NumberFormatException - Stringが解析可能なintを含まない場合。public static int parseUnsignedInt(String s) throws NumberFormatException
'+' ('\u002B')であってもかまいません。結果となる整数値が返されます。これは、その引数と基数10がparseUnsignedInt(java.lang.String, int)メソッドに引数として指定された場合とまったく同じです。s - 解析対象の符号なしint表現を含むStringNumberFormatException - 文字列が解析可能な符号なし整数を含まない場合。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 - 次を解釈するときに使用される基数: sIntegerオブジェクト。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、クラス: Numbershort型に変換した値。public int intValue()
Integerの値をintとして返します。public long longValue()
Integerの拡張プリミティブ変換後の値をlongとして返します。longValue、クラス: Numberlong型に変換した値。toUnsignedLong(int)public float floatValue()
Integerの拡張プリミティブ変換後の値をfloatとして返します。floatValue、クラス: Numberfloat型に変換した値。public double doubleValue()
Integerの拡張プリミティブ変換後の値をdoubleとして返します。doubleValue、クラス: Numberdouble型に変換した値。public String toString()
Integerの値を表すStringオブジェクトを返します。値は、符号付きの10進数表現に変換され、文字列として返されます。これは、整数値がtoString(int)メソッドの引数として指定された場合とまったく同じです。public int hashCode()
Integerのハッシュ・コードを返します。hashCode、クラス: ObjectIntegerオブジェクトが表すプリミティブ型int値に等しい。Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)public static int hashCode(int value)
Integer.hashCode()との互換性がある、int値のハッシュ・コードを返します。value - ハッシュ対象の値int値のハッシュ・コード値。public boolean equals(Object obj)
trueになるのは、引数がnullではなく、このオブジェクトと同じint値を含むIntegerオブジェクトである場合だけです。equals、クラス: Objectobj - 比較対象のオブジェクト。true、そうでない場合はfalse。Object.hashCode()、HashMappublic static Integer getInteger(String nm)
1番目の引数は、システム・プロパティの名前として扱われます。システム・プロパティにはSystem.getProperty(java.lang.String)メソッド経由でアクセスできます。次にこのプロパティの文字列値が、decodeによってサポートされている文法を使って整数値として解釈され、この値を表すIntegerオブジェクトが返されます。
指定された名前を持つプロパティがない場合、指定された名前が空白またはnullの場合、あるいはプロパティが適切な数値形式でない場合は、nullが返されます。
つまり、このメソッドが返すIntegerオブジェクトの値は、次の値に等しくなります。
getInteger(nm, null)
nm - プロパティ名。Integer値。SecurityException - System.getPropertyと同じ理由のため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)メソッド経由でアクセスできます。次にこのプロパティの文字列値が、decodeによってサポートされている文法を使って整数値として解釈され、この値を表すIntegerオブジェクトが返されます。
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値。SecurityException - System.getPropertyと同じ理由のため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)メソッド経由でアクセスできます。次にこのプロパティの文字列値が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値。SecurityException - System.getPropertyと同じ理由のためSystem.getProperty(java.lang.String), System.getProperty(java.lang.String, java.lang.String)public static Integer decode(String nm) throws NumberFormatException
StringをIntegerにデコードします。次の文法の10進数、16進数、および8進数を指定できます。
DecimalNumeral、HexDigits、およびOctalDigitsは、『Java(tm)言語仕様』のセクション3.10.1で規定されているとおりですが、桁間のアンダースコアが受け入れられない点は規定と異なります。
- DecodableString:
- Signopt DecimalNumeral
- Signopt
0xHexDigits- Signopt
0XHexDigits- Signopt
#HexDigits- Signopt
0OctalDigits- 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 - 比較する最初のinty - 比較する2番目のintx == yの場合は値0、x < yの場合は0より小さい値、x> yの場合は0より大きい値public static int compareUnsigned(int x,
int y)
int値を符号なしとして処理して数値的に比較します。x - 比較する最初のinty - 比較する2番目のintx == yの場合は値0、符号なしの値としてx < yの場合は0より小さい値、符号なしの値としてx> yの場合は0より大きい値public static long toUnsignedLong(int x)
longに変換します。longへの符号なし変換では、longの上位32ビットがゼロになり、下位32ビットが整数引数のビットに等しくなります。その結果、ゼロと正のint値が数値的に等しいlong値にマップされ、負のint値が入力に232を加算した値に等しいlong値にマップされます。x - 符号なしlongに変換する値longに変換された引数public static int divideUnsigned(int dividend,
int divisor)
2の補数計算で、他の3つの基本算術演算(加算、減算、および乗算)は、2つのオペランドがどちらも符号付き、またはどちらも符号なしと見なされる場合、ビット単位で同じであることに注意してください。したがって、個々のaddUnsignedなどのメソッドは提供されません。
dividend - 割られる値divisor - 割る値remainderUnsigned(int, int)public static int remainderUnsigned(int dividend,
int divisor)
dividend - 割られる値divisor - 割る値divideUnsigned(int, int)public static int highestOneBit(int i)
int値の最上位(「もっとも左側」)の1のビットの位置に最大で1つの1のビットを持つint値を返します。指定された値が2の補数バイナリ表現の1のビットを持たない場合、つまりゼロに等しい場合はゼロを返します。i - 最上位の1のビットが計算される値int値。指定された値がゼロに等しい場合はゼロ。public static int lowestOneBit(int i)
int値の最下位(「もっとも右側」)の1のビットの位置に最大で1つの1のビットを持つint値を返します。指定された値が2の補数バイナリ表現の1のビットを持たない場合、つまりゼロに等しい場合はゼロを返します。i - 最下位の1のビットが計算される値int値。指定された値がゼロに等しい場合はゼロ。public static int numberOfLeadingZeros(int i)
int値の2の補数バイナリ表現の最上位(「もっとも左側」)の1のビットに先行するゼロのビットの数を返します。指定された値が2の補数表現の1のビットを持たない場合、つまりゼロに等しい場合は32を返します。
このメソッドは、2を底とする対数に密接に関係しています。すべての正のint値xの場合、
31 - numberOfLeadingZeros(x)
32 - numberOfLeadingZeros(x - 1)
i - 先行するゼロの数が計算される値int値の2の補数バイナリ表現で最上位(「もっとも左側」)の1のビットに先行するゼロのビットの数。指定された値がゼロに等しい場合は32。public static int numberOfTrailingZeros(int i)
int値の2の補数バイナリ表現で最下位(「もっとも右側」)の1ビットに続くゼロのビットの数を返します。指定された値が2の補数表現の1のビットを持たない場合、つまりゼロに等しい場合は32を返します。i - 末尾のゼロの数が計算される値int値の2の補数バイナリ表現で最下位(「もっとも右側」)の1ビットに続くゼロのビットの数。指定された値がゼロに等しい場合は32。public static int bitCount(int i)
int値の2の補数バイナリ表現での、1のビットの数を返します。この関数は、ポピュレーション・カウントと呼ばれる場合があります。i - ビットがカウントされる値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))。
i - ビットが左に回転される値distance - 左に回転するビット位置の数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))。
i - ビットが右に回転される値distance - 右に回転するビット位置の数int値の2の補数バイナリ表現を指定されたビット数だけ右に回転して取得された値。public static int reverse(int i)
int値の2の補数バイナリ表現でビットの順序を逆にして取得された値を返します。i - 逆にされる値int値でバイト順を逆にして取得された値。public static int signum(int i)
int値の符号要素を返します。(指定した値が負の場合、戻り値は -1。指定された値がゼロの場合は0。指定した値が正の場合は1)。i - 符号要素が計算される値int値の符号要素。public static int reverseBytes(int i)
int値の2の補数バイナリ表現でバイトの順序を逆にして取得された値を返します。i - バイトが逆にされる値int値のバイト順を逆にして取得された値。public static int sum(int a,
int b)
a - 第1オペランドb - 第2オペランドaとbの合計BinaryOperatorpublic static int max(int a,
int b)
Math.maxを呼び出した場合と同様に、2つのint値の大きいほうを返します。a - 第1オペランドb - 第2オペランドaとbのどちらか大きい方BinaryOperatorpublic static int min(int a,
int b)
Math.minを呼び出した場合と同様に、2つのint値の小さいほうを返します。a - 第1オペランドb - 第2オペランドaとbのどちらか小さい方BinaryOperator バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.