モジュール java.base
パッケージ java.lang

クラスInteger

  • すべての実装されたインタフェース:
    Serializable, Comparable<Integer>

    public final class Integer
    extends Number
    implements Comparable<Integer>
    Integerクラスは、プリミティブ型intの値をオブジェクトにラップします。 Integer型のオブジェクトには、型がintの単一フィールドが含まれます。

    さらにこのクラスは、intStringに、Stringintに変換する各種メソッドや、intの処理時に役立つ定数およびメソッドも提供します。

    実装にあたっての注意: bit twiddling (ビット回転)メソッド(highestOneBitnumberOfTrailingZerosなど)の実装は、Henry S. Warren, Jr. 著『Hacker's Delight』(Addison Wesley, 2002)に基づいています。

    導入されたバージョン:
    1.0
    関連項目:
    直列化された形式
    • フィールドのサマリー

      フィールド 
      修飾子と型 フィールド 説明
      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)
      非推奨。
      このコンストラクタを使用することはほとんどありません。
      Integer​(String s)
      非推奨。
      このコンストラクタを使用することはほとんどありません。
    • メソッドのサマリー

      すべてのメソッド 静的メソッド インスタンス・メソッド 具象メソッド 
      修飾子と型 メソッド 説明
      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)
      StringIntegerにデコードします。
      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)
      int値のハッシュ・コードを返します; Integer.hashCode()と互換性があります。
      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​(CharSequence s, int beginIndex, int endIndex, int radix)
      CharSequence引数を、指定されたradixで署名されたintとして解析します。指定されたbeginIndexからendIndex - 1まで続きます。
      static int parseInt​(String s)
      文字列の引数を符号付き10進数の整数型として構文解析します。
      static int parseInt​(String s, int radix)
      2番目の引数に指定された基数をもとにして、文字列の引数を符号付き整数として構文解析します。
      static int parseUnsignedInt​(CharSequence s, int beginIndex, int endIndex, int radix)
      CharSequence引数を、指定されたradixの署名されていないintとして解析します。指定されたbeginIndexからendIndex - 1まで続きます。
      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オブジェクトを返します。
    • フィールドの詳細

      • TYPE

        public static final Class<Integer> TYPE
        プリミティブ型intを表すClassインスタンス
        導入されたバージョン:
        1.1
      • SIZE

        @Native
        public static final int SIZE
        2の補数バイナリ形式でint値を表すのに使用されるビット数です。
        導入されたバージョン:
        1.5
        関連項目:
        定数フィールド値
      • BYTES

        public static final int BYTES
        2つの補数バイナリ形式のint値を表すために使用されるバイト数。
        導入されたバージョン:
        1.8
        関連項目:
        定数フィールド値
    • コンストラクタの詳細

      • Integer

        @Deprecated(since="9")
        public Integer​(int value)
        非推奨。
        このコンストラクタを使用することはほとんどありません。 静的ファクトリvalueOf(int)は、より良いスペースと時間のパフォーマンスをもたらす可能性が高いため、通常はより良い選択です。
        指定されたint値を表す、新しく割り当てられたIntegerオブジェクトを構築します。
        パラメータ:
        value - Integerオブジェクトによって表される値。
      • Integer

        @Deprecated(since="9")
        public Integer​(String s)
                throws NumberFormatException
        非推奨。
        このコンストラクタを使用することはほとんどありません。 文字列をintプリミティブに変換するにはparseInt(String)を使用し、文字列をIntegerオブジェクトに変換するにはvalueOf(String)を使用します。
        Stringパラメータで示されるint値を表す、新しく割り当てられたIntegerオブジェクトを構築します。 文字列は、基数10でparseIntメソッドを使用するのと同じようにint値に変換されます。
        パラメータ:
        s - Integerに変換するString
        例外:
        NumberFormatException - Stringが解析可能な整数を含まない場合。
    • メソッドの詳細

      • toString

        public static String toString​(int i,
                                      int radix)
        2番目の引数を基数として、1番目の引数の文字列表現を返します。

        基数がCharacter.MIN_RADIXよりも小さい場合、あるいはCharacter.MAX_RADIXよりも大きい場合は、代わりに10を基数として使います。

        1番目の引数が負の数である場合、生成された文字列の1番目の要素はマイナス記号のASCII文字'-' ('\u002D')になります。 1番目の引数が負の数でない場合、生成された文字列には符号が付きません。

        生成された文字列の残りの文字は、1番目の引数の絶対値を表します。 絶対値がゼロである場合は、単一のゼロ文字'0' ('\u0030')で表されます。それ以外の場合は、絶対値を表す文字の1番目の文字はゼロにはなりません。 次のASCII文字を、数字の桁に使います。

        0123456789abcdefghijklmnopqrstuvwxyz
        これらは'\u0030' - '\u0039'および'\u0061' - '\u007A'です。 radixNの場合、これらの文字の先頭からN個が、示した順に基数Nの桁として使用されます。 すなわち、16進数(基数は16)に使われる桁の数字は0123456789abcdefとなります。 大文字を使いたい場合は、生成された文字列に対してString.toUpperCase()メソッドを呼び出すことができます。
        Integer.toString(n, 16).toUpperCase()

        パラメータ:
        i - 文字列に変換する整数。
        radix - 文字列表現で使用する基数。
        戻り値:
        指定された基数での、引数の文字列表現。
        関連項目:
        Character.MAX_RADIX, Character.MIN_RADIX
      • toUnsignedString

        public static String toUnsignedString​(int i,
                                              int radix)
        1番目の引数の文字列表現を、2番目の引数で指定された基数の符号なし整数値として返します。

        基数がCharacter.MIN_RADIXよりも小さい場合、あるいはCharacter.MAX_RADIXよりも大きい場合は、代わりに10を基数として使います。

        第1引数は符号なしの値として扱われるため、先行する符号文字が出力されないことに注意してください。

        絶対値がゼロである場合は、単一のゼロ文字'0' ('\u0030')で表されます。それ以外の場合は、絶対値を表す文字の1番目の文字はゼロにはなりません。

        基数の動作、および数字の桁に使用される文字は、toStringと同じです。

        パラメータ:
        i - 符号なし文字列に変換される整数。
        radix - 文字列表現で使用する基数。
        戻り値:
        指定された基数での、引数の符号なし文字列表現。
        導入されたバージョン:
        1.8
        関連項目:
        toString(int, int)
      • toHexString

        public static String toHexString​(int i)
        整数引数の文字列表現を、基数16の符号なし整数として返します。

        符号なし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 - 文字列に変換する整数。
        戻り値:
        16進数(基数16)の引数で表される符号なし整数値の文字列表現。
        導入されたバージョン:
        1.0.2
        関連項目:
        parseUnsignedInt(String, int), toUnsignedString(int, int)
      • toOctalString

        public static String toOctalString​(int i)
        整数引数の文字列表現を、基数8の符号なし整数として返します。

        符号なしint値は、引数が負の数の場合は、引数に232を加算した値になります。それ以外の場合は、引数に等しい値になります。 この値は、8進数(基数8)のASCII文字列に変換されます。前に0は付きません。

        引数の値を、返された文字列sから復元するには、Integer.parseUnsignedInt(s, 8)を呼び出します。

        符号なし絶対値がゼロである場合は、単一のゼロ文字'0' ('\u0030')で表されます。それ以外の場合は、符号なし絶対値を表す文字の1番目の文字はゼロにはなりません。 次の文字を、8進数の桁に使います。

        01234567
        これらは文字'\u0030' - '\u0037'です。

        パラメータ:
        i - 文字列に変換する整数。
        戻り値:
        8進数(基数8)の引数で表される符号なし整数値の文字列表現。
        導入されたバージョン:
        1.0.2
        関連項目:
        parseUnsignedInt(String, int), toUnsignedString(int, int)
      • toBinaryString

        public static String toBinaryString​(int i)
        整数引数の文字列表現を、基数2の符号なし整数として返します。

        符号なしint値は、引数が負の数の場合は、引数に232を加算した値になります。それ以外の場合は、引数に等しい値になります。 この値は、2進数(基数2)のASCII文字列に変換されます。前に0は付きません。

        引数の値を、返された文字列sから復元するには、Integer.parseUnsignedInt(s, 2)を呼び出します。

        符号なし絶対値がゼロである場合は、単一のゼロ文字'0' ('\u0030')で表されます。それ以外の場合は、符号なし絶対値を表す文字の1番目の文字はゼロにはなりません。 2進数の桁には、文字'0' ('\u0030')および '1' ('\u0031')を使います。

        パラメータ:
        i - 文字列に変換する整数。
        戻り値:
        2進数(基数2)の引数で表される符号なし整数値の文字列表現。
        導入されたバージョン:
        1.0.2
        関連項目:
        parseUnsignedInt(String, int), toUnsignedString(int, int)
      • toString

        public static String toString​(int i)
        指定された整数を表すStringオブジェクトを返します。 引数は、符号付き10進数表現に変換されてから文字列として返されます。これは、引数および基数10をtoString(int, int)メソッドへの引数として指定した場合とまったく同じです。
        パラメータ:
        i - 変換される整数。
        戻り値:
        基数10での引数の文字列表現。
      • toUnsignedString

        public static String toUnsignedString​(int i)
        引数の文字列表現を、符号なし10進値として返します。 引数は、符号なし10進数表現に変換されてから文字列として返されます。これは、引数および基数10をtoUnsignedString(int, int)メソッドへの引数として指定した場合とまったく同じです。
        パラメータ:
        i - 符号なし文字列に変換される整数。
        戻り値:
        この引数の符号なし文字列表現。
        導入されたバージョン:
        1.8
        関連項目:
        toUnsignedString(int, int)
      • parseInt

        public static int parseInt​(String s,
                                   int radix)
                            throws NumberFormatException
        2番目の引数に指定された基数をもとにして、文字列の引数を符号付き整数として構文解析します。 文字列内の文字はすべて、指定された基数の桁である必要があります(Character.digit(char, int)から負でない値が返されるかどうかで判定)。ただし先頭の文字だけは、負の値を示すASCIIマイナス記号'-' ('\u002D')、正の値を示すASCIIプラス記号'+' ('\u002B')のどちらであってもかまいません。 結果として得られる整数値を返します。

        以下に挙げる状況のどれかが発生した場合に、NumberFormatException型の例外がスローされます。

        • 1番目の引数がnullであるか、長さゼロの文字列である。
        • radixがCharacter.MIN_RADIXよりも小さいか、Character.MAX_RADIXよりも大きい。
        • 文字列の中に、指定された基数による桁には使えない文字がある。ただし、文字列の長さが1よりも大きい場合は、1番目の文字がマイナス記号'-' ('\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を含まない場合。
      • parseInt

        public static int parseInt​(CharSequence s,
                                   int beginIndex,
                                   int endIndex,
                                   int radix)
                            throws NumberFormatException
        CharSequence引数を、指定されたradixで署名されたintとして解析します。指定されたbeginIndexからendIndex - 1まで続きます。

        このメソッドは、解析中に突然変異しているCharSequenceに対して警戒するための措置を講じません。

        パラメータ:
        s - パースされるint表現を含むCharSequence
        beginIndex - 開始インデックス(この値を含む)。
        endIndex - 終了インデックス(この値を含まない)。
        radix - sの構文解析時に使用する基数。
        戻り値:
        指定された基数でサブシーケンスによって表される符号付きint
        例外:
        NullPointerException - sがnullである場合。
        IndexOutOfBoundsException - beginIndexが負の場合、またはbeginIndexendIndexより大きい場合、またはendIndexs.length()より大きい場合。
        NumberFormatException - CharSequenceが指定されたradixに解析可能なintを含まない場合、またはradixCharacter.MIN_RADIXより小さいかCharacter.MAX_RADIXより大きい場合。
        導入されたバージョン:
        9
      • parseInt

        public static int parseInt​(String s)
                            throws NumberFormatException
        文字列の引数を符号付き10進数の整数型として構文解析します。 文字列内の文字はすべて、10進数の桁である必要があります。ただし先頭の文字だけは、負の値を示すASCIIマイナス記号'-' ('\u002D')、正の値を示すASCIIプラス記号'+' ('\u002B')のどちらであってもかまいません。 結果となる整数値が返されます。これは、その引数と基数10がparseInt(java.lang.String, int)メソッドに引数として指定された場合とまったく同じです。
        パラメータ:
        s - 解析対象のint表現を含むString
        戻り値:
        10進数の引数で表される整数値。
        例外:
        NumberFormatException - 文字列が解析可能な整数型を含まない場合。
      • parseUnsignedInt

        public static int parseUnsignedInt​(String s,
                                           int radix)
                                    throws NumberFormatException
        2番目の引数に指定された基数をもとにして、文字列の引数を符号なし整数として構文解析します。 符号なし整数は、通常は負の数値に関連付けられた値を、MAX_VALUEよりも大きい正の数値にマップします。 文字列内の文字はすべて、指定された基数の桁である必要があります(Character.digit(char, int)から負でない値が返されるかどうかで判定)。ただし先頭の文字だけは、ASCIIプラス記号'+' ('\u002B')であってもかまいません。 結果として得られる整数値を返します。

        以下に挙げる状況のどれかが発生した場合に、NumberFormatException型の例外がスローされます。

        • 1番目の引数がnullであるか、長さゼロの文字列である。
        • radixがCharacter.MIN_RADIXよりも小さいか、Character.MAX_RADIXよりも大きい。
        • 文字列の中に、指定された基数による桁には使えない文字がある。ただし、文字列の長さが1よりも大きい場合は、1番目の文字がプラス記号'+' ('\u002B')であってもかまわない。
        • 文字列で表される値が最大の符号なしint(232-1)よりも大きい。

        パラメータ:
        s - 解析対象の符号なし整数表現を含むString
        radix - sの構文解析時に使用する基数。
        戻り値:
        指定された基数での、文字列引数で表される整数。
        例外:
        NumberFormatException - Stringが解析可能なintを含まない場合。
        導入されたバージョン:
        1.8
      • parseUnsignedInt

        public static int parseUnsignedInt​(CharSequence s,
                                           int beginIndex,
                                           int endIndex,
                                           int radix)
                                    throws NumberFormatException
        CharSequence引数を、指定されたradixの署名されていないintとして解析します。指定されたbeginIndexからendIndex - 1まで続きます。

        このメソッドは、解析中に突然変異しているCharSequenceに対して警戒するための措置を講じません。

        パラメータ:
        s - パースされていない符号なしint表現を含むCharSequence
        beginIndex - 開始インデックス(この値を含む)。
        endIndex - 終了インデックス(この値を含まない)。
        radix - sの構文解析時に使用する基数。
        戻り値:
        指定された基数でサブシーケンスによって表される符号なしのint
        例外:
        NullPointerException - sがnullである場合。
        IndexOutOfBoundsException - beginIndexが負の場合、またはbeginIndexendIndexより大きい場合、またはendIndexs.length()より大きい場合。
        NumberFormatException - CharSequenceが指定されたradixに解析できない符号なしintを含んでいない場合、またはradixCharacter.MIN_RADIXより小さいかCharacter.MAX_RADIXより大きい場合。
        導入されたバージョン:
        9
      • parseUnsignedInt

        public static int parseUnsignedInt​(String s)
                                    throws NumberFormatException
        文字列の引数を符号なし10進数の整数として構文解析します。 文字列の文字は、すべて10進数でなければなりません。ただし、最初の文字はASCIIのプラス記号 '+' ('\u002B')である場合があります。 結果となる整数値が返されます。これは、その引数と基数10がparseUnsignedInt(java.lang.String, int)メソッドに引数として指定された場合とまったく同じです。
        パラメータ:
        s - 解析対象の符号なしint表現を含むString
        戻り値:
        10進数の引数で表される符号なし整数値。
        例外:
        NumberFormatException - 文字列が解析可能な符号なし整数を含まない場合。
        導入されたバージョン:
        1.8
      • valueOf

        public static Integer valueOf​(String s,
                                      int radix)
                               throws NumberFormatException
        2番目の引数で指定された基数を使用した構文解析時に、指定されたStringから抽出された値を保持するIntegerオブジェクトを返します。 最初の引数は、2番目の引数で指定された基数内の符号付き整数を表しているとして解釈されます。これは、引数がparseInt(java.lang.String, int)メソッドに渡された場合とまったく同じです。 生成された結果は、文字列により指定された整数値を表すIntegerオブジェクトになります。

        つまり、このメソッドが返すIntegerオブジェクトの値は、次の値に等しくなります。

        new Integer(Integer.parseInt(s, radix))

        パラメータ:
        s - 解析される文字列。
        radix - 次を解釈するときに使用される基数: s
        戻り値:
        指定された基数での、文字列引数で表される値を保持するIntegerオブジェクト。
        例外:
        NumberFormatException - Stringが解析可能なintを含まない場合。
      • valueOf

        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 - 文字列が解析可能な整数型を含まない場合。
      • valueOf

        public static Integer valueOf​(int i)
        指定されたint値を表すIntegerインスタンスを返します。 新規Integerインスタンスが不要な場合、通常このメソッドがコンストラクタInteger(int)に優先して使用されます。その理由は、このメソッドが頻繁に要求される値をキャッシュするので、操作に必要な領域や時間がはるかに少なくて済む場合が多いためです。 このメソッドは、-128から127の範囲(両端含む)の値を常にキャッシュしますが、この範囲に含まれないその他の値をキャッシュすることもあります。
        パラメータ:
        i - int値。
        戻り値:
        iを表すIntegerインスタンス。
        導入されたバージョン:
        1.5
      • byteValue

        public byte byteValue()
        このIntegerの縮小プリミティブ変換後の値をbyteとして返します。
        オーバーライド:
        byteValue、クラス: Number
        戻り値:
        このオブジェクトが表す数値をbyte型に変換した値。
        Java™言語仕様:
        5.1.3 縮小プリミティブ変換
      • shortValue

        public short shortValue()
        このIntegerの縮小プリミティブ変換後の値をshortとして返します。
        オーバーライド:
        shortValue、クラス: Number
        戻り値:
        このオブジェクトが表す数値をshort型に変換した値。
        Java™言語仕様:
        5.1.3 縮小プリミティブ変換
      • intValue

        public int intValue()
        このIntegerの値をintとして返します。
        定義:
        intValue、クラス: Number
        戻り値:
        このオブジェクトが表す数値をint型に変換した値。
      • longValue

        public long longValue()
        このIntegerの拡張プリミティブ変換後の値をlongとして返します。
        定義:
        longValue、クラス: Number
        戻り値:
        このオブジェクトが表す数値をlong型に変換した値。
        関連項目:
        toUnsignedLong(int)
        Java™言語仕様:
        5.1.2 拡張プリミティブ変換
      • floatValue

        public float floatValue()
        このIntegerの拡張プリミティブ変換後の値をfloatとして返します。
        定義:
        floatValue、クラス: Number
        戻り値:
        このオブジェクトが表す数値をfloat型に変換した値。
        Java™言語仕様:
        5.1.2 拡張プリミティブ変換
      • doubleValue

        public double doubleValue()
        このIntegerの拡張プリミティブ変換後の値をdoubleとして返します。
        定義:
        doubleValue、クラス: Number
        戻り値:
        このオブジェクトが表す数値をdouble型に変換した値。
        Java™言語仕様:
        5.1.2 拡張プリミティブ変換
      • toString

        public String toString()
        Integerの値を表すStringオブジェクトを返します。 値は、符号付きの10進数表現に変換され、文字列として返されます。これは、整数値がtoString(int)メソッドの引数として指定された場合とまったく同じです。
        オーバーライド:
        toString 、クラス:  Object
        戻り値:
        このオブジェクトの10進数(基数10)による文字列表現。
      • hashCode

        public static int hashCode​(int value)
        int値のハッシュ・コードを返します; Integer.hashCode()と互換性があります。
        パラメータ:
        value - ハッシュ対象の値
        戻り値:
        int値のハッシュ・コード値。
        導入されたバージョン:
        1.8
      • equals

        public boolean equals​(Object obj)
        このオブジェクトを指定されたオブジェクトと比較します。 結果がtrueになるのは、引数がnullではなく、このオブジェクトと同じint値を含むIntegerオブジェクトである場合だけです。
        オーバーライド:
        equals 、クラス:  Object
        パラメータ:
        obj - 比較対象のオブジェクト。
        戻り値:
        オブジェクトが同じである場合はtrue、そうでない場合はfalse
        関連項目:
        Object.hashCode()HashMap
      • getInteger

        public 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)
      • getInteger

        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)
      • getInteger

        public static Integer getInteger​(String nm,
                                         Integer val)
        指定された名前のシステム・プロパティの整数値を返します。 1番目の引数は、システム・プロパティの名前として扱われます。 システム・プロパティにはSystem.getProperty(java.lang.String)メソッド経由でアクセスできます。 次にこのプロパティの文字列値がdecodeメソッドのとおりに整数値として解釈され、この値を表すIntegerオブジェクトが返されます。要するに次のようになります。
        • プロパティの値が2つのASCII文字0xまたはASCII文字#で始まり、その後にマイナス符号がない場合は、値の残りはメソッドvalueOf(java.lang.String, int)を基数16で使う場合とまったく同じように16進整数として解析される。
        • プロパティの値がASCII文字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)
      • decode

        public static Integer decode​(String nm)
                              throws NumberFormatException
        StringIntegerにデコードします。 次の文法の10進数、16進数、および8進数を指定できます。
        DecodableString:
        Signopt DecimalNumeral
        Signopt 0x HexDigits
        Signopt 0X HexDigits
        Signopt # HexDigits
        Signopt 0 OctalDigits
        Sign:
        -
        +
        DecimalNumeralHexDigits、およびOctalDigitsは、『Java™言語仕様』のセクション3.10.1で規定されているとおりですが、桁間のアンダースコアが受け入れられない点は規定と異なります。

        オプションの符号と基数指示子のどちらかまたはその両方に続く文字シーケンス(0x0X#、または先頭のゼロ)は、指定された基数(10、16、または8)で Integer.parseIntメソッドを使う場合と同じように構文解析されます。 この文字シーケンスは正の数でなければならず、そうでない場合はNumberFormatExceptionがスローされます。 指定された Stringの最初の文字が負の符号である場合、生成された結果は否定されます。 Stringに空白文字を指定することはできません。

        パラメータ:
        nm - デコードするString
        戻り値:
        nmにより表されるint値を保持するIntegerオブジェクト
        例外:
        NumberFormatException - Stringが解析可能な整数を含まない場合。
        関連項目:
        parseInt(java.lang.String, int)
      • compareTo

        public int compareTo​(Integer anotherInteger)
        2つのIntegerオブジェクトを数値的に比較します。
        定義:
        compareTo、インタフェース: Comparable<Integer>
        パラメータ:
        anotherInteger - 比較対象のInteger
        戻り値:
        このIntegerが引数Integerと等しい場合は値0。このIntegerが引数Integerより小さい数値の場合は0より小さい値。このIntegerが引数Integerより大きい数値の場合は0より大きい値(符号付きの比較)。
        導入されたバージョン:
        1.2
      • compare

        public static int compare​(int x,
                                  int y)
        2つのint値を数値的に比較します。 返される値は、次から返される値と同じになります。
            Integer.valueOf(x).compareTo(Integer.valueOf(y))
         
        パラメータ:
        x - 比較する最初のint
        y - 比較する2番目のint
        戻り値:
        x == yの場合は値0x < yの場合は0より小さい値、x> yの場合は0より大きい値
        導入されたバージョン:
        1.7
      • compareUnsigned

        public static int compareUnsigned​(int x,
                                          int y)
        2つのint値を符号なしとして処理して数値的に比較します。
        パラメータ:
        x - 比較する最初のint
        y - 比較する2番目のint
        戻り値:
        x == yの場合は値0、符号なしの値としてx < yの場合は0より小さい値、符号なしの値としてx> yの場合は0より大きい値
        導入されたバージョン:
        1.8
      • toUnsignedLong

        public static long toUnsignedLong​(int x)
        符号なし変換によって、その引数をlongに変換します。 longへの符号なし変換では、longの上位32ビットがゼロになり、下位32ビットが整数引数のビットに等しくなります。 結果として、ゼロおよび正のint値は、数値的に等しいlong値にマッピングされ、負の int値は、入力+2 32に等しいlong値にマッピングされます。
        パラメータ:
        x - 符号なしlongに変換する値
        戻り値:
        符号なし変換によってlongに変換された引数
        導入されたバージョン:
        1.8
      • divideUnsigned

        public static int divideUnsigned​(int dividend,
                                         int divisor)
        第1引数を第2引数で除算した符号なしの商を返します(各引数と結果は符号なしの値として解釈されます)。

        2の補数計算で、他の3つの基本算術演算(加算、減算、および乗算)は、2つのオペランドがどちらも符号付き、またはどちらも符号なしと見なされる場合、ビット単位で同じであることに注意してください。 したがって、個々の addUnsignedなどのメソッドは提供されません。

        パラメータ:
        dividend - 割られる値
        divisor - 割る値
        戻り値:
        第1引数を第2引数で除算した符号なしの商
        導入されたバージョン:
        1.8
        関連項目:
        remainderUnsigned(int, int)
      • remainderUnsigned

        public static int remainderUnsigned​(int dividend,
                                            int divisor)
        第1引数を第2引数で割った符号なしの余りを返します。各引数と結果は符号なしの値として解釈されます。
        パラメータ:
        dividend - 割られる値
        divisor - 割る値
        戻り値:
        第1引数を第2引数で除算した符号なしの余り
        導入されたバージョン:
        1.8
        関連項目:
        divideUnsigned(int, int)
      • highestOneBit

        public static int highestOneBit​(int i)
        指定されたint値の最上位(「もっとも左側」)の1のビットの位置に最大で1つの1のビットを持つint値を返します。 指定された値が2の補数バイナリ表現の1のビットを持たない場合、つまりゼロに等しい場合はゼロを返します。
        パラメータ:
        i - 最上位の1のビットが計算される値
        戻り値:
        指定された値の最上位の1のビットの位置に1つの1のビットを持つint値。指定された値がゼロに等しい場合はゼロ。
        導入されたバージョン:
        1.5
      • lowestOneBit

        public static int lowestOneBit​(int i)
        指定されたint値の最下位(「もっとも右側」)の1のビットの位置に最大で1つの1のビットを持つint値を返します。 指定された値が2の補数バイナリ表現の1のビットを持たない場合、つまりゼロに等しい場合はゼロを返します。
        パラメータ:
        i - 最下位の1のビットが計算される値
        戻り値:
        指定された値の最下位の1のビットの位置に1つの1のビットを持つint値。指定された値がゼロに等しい場合はゼロ。
        導入されたバージョン:
        1.5
      • numberOfLeadingZeros

        public static int numberOfLeadingZeros​(int i)
        指定されたint値の2の補数バイナリ表現の最上位(「もっとも左側」)の1のビットに先行するゼロのビットの数を返します。 指定された値が2の補数表現の1のビットを持たない場合、つまりゼロに等しい場合は32を返します。

        このメソッドは、2を底とする対数に密接に関係しています。 すべての正のint値xの場合、

        • floor(log2(x)) = 31 - numberOfLeadingZeros(x)
        • ceil(log2(x)) = 32 - numberOfLeadingZeros(x - 1)

        パラメータ:
        i - 先行するゼロの数が計算される値
        戻り値:
        指定されたint値の2の補数バイナリ表現で最上位(「もっとも左側」)の1のビットに先行するゼロのビットの数。指定された値がゼロに等しい場合は32。
        導入されたバージョン:
        1.5
      • numberOfTrailingZeros

        public static int numberOfTrailingZeros​(int i)
        指定されたint値の2の補数バイナリ表現で最下位(「もっとも右側」)の1ビットに続くゼロのビットの数を返します。 指定された値が2の補数表現の1のビットを持たない場合、つまりゼロに等しい場合は32を返します。
        パラメータ:
        i - 末尾のゼロの数が計算される値
        戻り値:
        指定されたint値の2の補数バイナリ表現で最下位(「もっとも右側」)の1ビットに続くゼロのビットの数。指定された値がゼロに等しい場合は32。
        導入されたバージョン:
        1.5
      • bitCount

        public static int bitCount​(int i)
        指定されたint値の2の補数バイナリ表現での、1のビットの数を返します。 この関数は、ポピュレーション・カウントと呼ばれる場合があります。
        パラメータ:
        i - ビットがカウントされる値
        戻り値:
        指定されたint値の2の補数バイナリ表現での、1のビットの数。
        導入されたバージョン:
        1.5
      • rotateLeft

        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の補数バイナリ表現を指定されたビット数だけ左に回転して取得した値。
        導入されたバージョン:
        1.5
      • rotateRight

        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の補数バイナリ表現を指定されたビット数だけ右に回転して取得された値。
        導入されたバージョン:
        1.5
      • reverse

        public static int reverse​(int i)
        指定されたint値の2の補数バイナリ表現でビットの順序を逆にして取得された値を返します。
        パラメータ:
        i - 逆にされる値
        戻り値:
        指定されたint値でバイト順を逆にして取得された値。
        導入されたバージョン:
        1.5
      • signum

        public static int signum​(int i)
        指定されたint値の符号要素を返します。 (指定した値が負の場合、戻り値は -1。指定された値がゼロの場合は0。指定した値が正の場合は1)。
        パラメータ:
        i - 符号要素が計算される値
        戻り値:
        指定されたint値の符号要素。
        導入されたバージョン:
        1.5
      • reverseBytes

        public static int reverseBytes​(int i)
        指定されたint値の2の補数バイナリ表現でバイトの順序を逆にして取得された値を返します。
        パラメータ:
        i - バイトが逆にされる値
        戻り値:
        指定されたint値のバイト順を逆にして取得された値。
        導入されたバージョン:
        1.5
      • sum

        public static int sum​(int a,
                              int b)
        +演算子のように、2つの整数を加算します。
        パラメータ:
        a - 第1オペランド
        b - 第2オペランド
        戻り値:
        abの合計
        導入されたバージョン:
        1.8
        関連項目:
        BinaryOperator
      • max

        public static int max​(int a,
                              int b)
        Math.maxを呼び出した場合と同様に、2つのint値の大きいほうを返します。
        パラメータ:
        a - 第1オペランド
        b - 第2オペランド
        戻り値:
        abのどちらか大きい方
        導入されたバージョン:
        1.8
        関連項目:
        BinaryOperator
      • min

        public static int min​(int a,
                              int b)
        Math.minを呼び出した場合と同様に、2つのint値の小さいほうを返します。
        パラメータ:
        a - 第1オペランド
        b - 第2オペランド
        戻り値:
        abのどちらか小さい方
        導入されたバージョン:
        1.8
        関連項目:
        BinaryOperator