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

クラスLong

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

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

さらに、このクラスは、longStringに、String longに、そしてlongを扱うときに有用な他の定数およびメソッドに変換するいくつかのメソッドを提供します。

これはvalue-basedクラスです。プログラマは、equalのインスタンスを交換可能として扱い、同期にインスタンスを使用しないようにする必要があります。そうしないと、予期しない動作が発生する可能性があります。 たとえば、将来のリリースでは、同期が失敗する可能性があります。

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

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

    フィールド
    修飾子と型
    フィールド
    説明
    static final int
    2の補数バイナリ形式でlong値を表すために使用されるバイト数。
    static final long
    longに設定可能な最大値263-1を保持する定数。
    static final long
    longに設定可能な最小値 -263を保持する定数。
    static final int
    2の補数バイナリ形式でlong値を表すのに使用されるビット数。
    static final Class<Long>
    プリミティブ型longを表すClassインスタンス。
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    Long(long value)
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    このコンストラクタを使用することはほとんどありません。
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    このコンストラクタを使用することはほとんどありません。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    static int
    bitCount(long i)
    指定されたlong値の2の補数バイナリ表現での、1のビットの数を返します。
    byte
    このLongの縮小プリミティブ変換後の値をbyteとして返します。
    static int
    compare(long x, long y)
    2つのlong値を数値的に比較します。
    int
    compareTo(Long anotherLong)
    2つのLongオブジェクトを数値的に比較します。
    static int
    compareUnsigned(long x, long y)
    2つのlong値を符号なしとして処理して数値的に比較します。
    static Long
    StringLongにデコードします。
    このインスタンス自体の名目記述子を含むOptionalを返します。
    static long
    divideUnsigned(long dividend, long divisor)
    第1引数を第2引数で除算した符号なしの商を返します(各引数と結果は符号なしの値として解釈されます)。
    double
    このLongの拡張プリミティブ変換後の値をdoubleとして返します。
    boolean
    このオブジェクトを指定されたオブジェクトと比較します。
    float
    このLongの拡張プリミティブ変換後の値をfloatとして返します。
    static Long
    指定された名前のシステム・プロパティのlong値を判定します。
    static Long
    getLong(String nm, long val)
    指定された名前のシステム・プロパティのlong値を判定します。
    static Long
    getLong(String nm, Long val)
    指定された名前のシステム・プロパティのlong値を返します。
    int
    このLongのハッシュ・コードを返します。
    static int
    hashCode(long value)
    Long.hashCode()との互換性がある、long値のハッシュ・コードを返します。
    static long
    highestOneBit(long i)
    指定されたlong値の最上位(「もっとも左側」)の1のビットの位置に最大で1つの1のビットを持つlong値を返します。
    int
    このLongの縮小プリミティブ変換後の値をintとして返します。
    long
    このLongの値をlong値として返します。
    static long
    lowestOneBit(long i)
    指定されたlong値の最下位(「もっとも右側」)の1のビットの位置に最大で1つの1のビットを持つlong値を返します。
    static long
    max(long a, long b)
    Math.maxを呼び出した場合と同様に、2つのlong値の大きいほうを返します。
    static long
    min(long a, long b)
    Math.minを呼び出した場合と同様に、2つのlong値の小さいほうを返します。
    static int
    指定されたlong値の2の補数バイナリ表現の最上位(「もっとも左側」)の1のビットに先行するゼロのビットの数を返します。
    static int
    指定されたlong値の2の補数バイナリ表現で最下位(「もっとも右側」)の1ビットに続くゼロのビットの数を返します。
    static long
    parseLong(CharSequence s, int beginIndex, int endIndex, int radix)
    CharSequence引数を、指定されたradixで署名されたlongとして解析します。指定されたbeginIndexからendIndex - 1まで続きます。
    static long
    文字列の引数を符号付き10進数longとして構文解析します。
    static long
    parseLong(String s, int radix)
    2番目の引数に指定された基数をもとにして、文字列の引数を符号付きlongとして構文解析します。
    static long
    parseUnsignedLong(CharSequence s, int beginIndex, int endIndex, int radix)
    CharSequence引数を、指定されたradixの署名されていないlongとして解析します。指定されたbeginIndexからendIndex - 1まで続きます。
    static long
    文字列の引数を符号なし10進数のlongとして構文解析します。
    static long
    parseUnsignedLong(String s, int radix)
    2番目の引数に指定された基数をもとにして、文字列の引数を符号なしlongとして構文解析します。
    static long
    remainderUnsigned(long dividend, long divisor)
    第1引数を第2引数で割った符号なしの余りを返します。各引数と結果は符号なしの値として解釈されます。
    このインスタンスをConstantDescとして解決します。その結果がインスタンス自体です。
    static long
    reverse(long i)
    指定されたlong値の2の補数バイナリ表現でビットの順序を逆にして取得された値を返します。
    static long
    reverseBytes(long i)
    指定されたlong値の2の補数バイナリ表現でバイトの順序を逆にして取得された値を返します。
    static long
    rotateLeft(long i, int distance)
    指定されたlong値の2の補数バイナリ表現を指定したビット数だけ左に回転して取得された値を返します。
    static long
    rotateRight(long i, int distance)
    指定されたlong値の2の補数バイナリ表現を指定したビット数だけ右に回転して取得された値を返します。
    short
    このLongの縮小プリミティブ変換後の値をshortとして返します。
    static int
    signum(long i)
    指定されたlong値の符号要素を返します。
    static long
    sum(long a, long b)
    +演算子のように、2つのlong値を加算します。
    static String
    long引数の文字列表現を、基数 2の符号なし整数として返します。
    static String
    toHexString(long i)
    long引数の文字列表現を、基数 16の符号なし整数として返します。
    static String
    toOctalString(long i)
    long引数の文字列表現を、基数 8の符号なし整数として返します。
    このlongの値を表すStringオブジェクトを返します。
    static String
    toString(long i)
    指定されたlongを表すStringオブジェクトを返します。
    static String
    toString(long i, int radix)
    2番目の引数を基数として、1番目の引数の文字列表現を返します。
    static String
    引数の文字列表現を、符号なし10進値として返します。
    static String
    toUnsignedString(long i, int radix)
    1番目の引数の文字列表現を、2番目の引数で指定された基数の符号なし整数値として返します。
    static Long
    valueOf(long l)
    指定されたlong値を表すLongインスタンスを返します。
    static Long
    指定されたStringの値を保持するLongオブジェクトを返します。
    static Long
    valueOf(String s, int radix)
    2番目の引数で指定された基数を使用した構文解析時に、指定されたStringから抽出された値を保持するLongオブジェクトを返します。

    クラス java.lang.Objectで宣言されたメソッド

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • フィールド詳細

    • MIN_VALUE

      @Native public static final long MIN_VALUE
      longに設定可能な最小値 -263を保持する定数。
      関連項目:
    • MAX_VALUE

      @Native public static final long MAX_VALUE
      longに設定可能な最大値263-1を保持する定数。
      関連項目:
    • TYPE

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

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

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

    • Long

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

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

    • toString

      public static String toString(long 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()メソッドを呼び出すことができます。
      Long.toString(n, 16).toUpperCase()

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

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

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

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

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

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

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

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

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

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

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

      0123456789abcdef
      これらは文字'\u0030' - '\u0039'および'\u0061' - '\u0066'です。 大文字を使いたい場合は、生成された文字列に対してString.toUpperCase()メソッドを呼び出すことができます。
      Long.toHexString(n).toUpperCase()

      APIのノート:
      HexFormatクラスは、文字列を返すかAppendableに追加するバイト配列およびプリミティブの書式設定および解析を提供します。 HexFormatは、大文字または小文字の16進文字を書式設定および解析し、先頭のゼロおよびバイト配列には、各バイトのデリミタ、プレフィクスおよびサフィクスが含まれます。
      パラメータ:
      i - 文字列に変換するlong
      戻り値:
      16進数(基数16)の引数で表される符号なしlong値の文字列表現。
      導入されたバージョン:
      1.0.2
      関連項目:
    • toOctalString

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      L ('\u004C')またはl ('\u006C')を型指定子として文字列の末尾に付けることは、Javaプログラミング言語のソース・コードの場合とは違って許されません。ただし、基数が22以上の桁の数字には、Lまたはlが現われます。

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

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

       parseLong("0", 10) returns 0L
       parseLong("473", 10) returns 473L
       parseLong("+42", 10) returns 42L
       parseLong("-0", 10) returns 0L
       parseLong("-FF", 16) returns -255L
       parseLong("1100110", 2) returns 102L
       parseLong("99", 8) throws a NumberFormatException
       parseLong("Hazelnut", 10) throws a NumberFormatException
       parseLong("Hazelnut", 36) returns 1356099454469L
       

      パラメータ:
      s - 解析対象のlong表現を含むString
      radix - sの構文解析時に使用する基数。
      戻り値:
      指定された基数での、文字列引数で表されるlong値。
      例外:
      NumberFormatException - 文字列が解析可能なlongを含まない場合。
    • parseLong

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

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

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

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

      L ('\u004C')またはl ('\u006C')を型指定子として文字列の末尾に付けることは、Javaプログラムのソース・コードの場合とは違って許されません。

      パラメータ:
      s - 解析対象のlong表現を含むString
      戻り値:
      10進数の引数で表されるlong
      例外:
      NumberFormatException - 文字列が解析可能なlongを含まない場合。
    • parseUnsignedLong

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

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

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

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

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

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

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

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

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

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

      new Long(Long.parseLong(s, radix))

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

      public static Long valueOf(String s) throws NumberFormatException
      指定されたStringの値を保持するLongオブジェクトを返します。 引数は、符号付きの10進数のlong,を表しているとして解釈されます。これは、その引数がparseLong(java.lang.String)メソッドに渡された場合とまったく同じです。 生成された結果は、文字列により指定された整数値を表すLongオブジェクトになります。

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

      new Long(Long.parseLong(s))

      パラメータ:
      s - 解析される文字列。
      戻り値:
      文字列引数により表される値を保持するLongオブジェクト。
      例外:
      NumberFormatException - 文字列をlongとして構文解析できない場合。
    • valueOf

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

      public static Long decode(String nm) throws NumberFormatException
      StringLongにデコードします。 次の文法の10進数、16進数、および8進数を指定できます。
      DecodableString:
      Signopt DecimalNumeral
      Signopt 0x HexDigits
      Signopt 0X HexDigits
      Signopt # HexDigits
      Signopt 0 OctalDigits
      Sign:
      -
      +
      DecimalNumeralHexDigitsおよびOctalDigitsは、「Java言語仕様」3.10.1項で定義されているとおりですが、数字の間にアンダースコアは使用できません。

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

      パラメータ:
      nm - デコードするString
      戻り値:
      nmにより表されるlong値を保持するLongオブジェクト
      例外:
      NumberFormatException - Stringが解析可能なlongを含まない場合。
      導入されたバージョン:
      1.2
      関連項目:
    • byteValue

      public byte byteValue()
      このLongの縮小プリミティブ変換後の値をbyteとして返します。
      オーバーライド:
      byteValue、クラス: Number
      戻り値:
      このオブジェクトが表す数値をbyte型に変換した値。
      Java言語仕様を参照してください:
      5.1.3 プリミティブ・コンバージョンの解説
    • shortValue

      public short shortValue()
      このLongの縮小プリミティブ変換後の値をshortとして返します。
      オーバーライド:
      shortValue、クラス: Number
      戻り値:
      このオブジェクトが表す数値をshort型に変換した値。
      Java言語仕様を参照してください:
      5.1.3 プリミティブ・コンバージョンの解説
    • intValue

      public int intValue()
      このLongの縮小プリミティブ変換後の値をintとして返します。
      定義:
      intValue、クラス: Number
      戻り値:
      このオブジェクトが表す数値をint型に変換した値。
      Java言語仕様を参照してください:
      5.1.3 プリミティブ・コンバージョンの解説
    • longValue

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

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

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

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

      public int hashCode()
      このLongのハッシュ・コードを返します。 生成された結果は、このLongオブジェクトが保持するプリミティブlong値の上位32ビットと下位32ビットの排他的論理和です。 すなわち、ハッシュ・コードは次の式の値になります。
      (int)(this.longValue()^(this.longValue()>>>32))
      オーバーライド:
      hashCode 、クラス:  Object
      戻り値:
      このオブジェクトのハッシュ・コード値。
      関連項目:
    • hashCode

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

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

      public static Long getLong(String nm)
      指定された名前のシステム・プロパティのlong値を判定します。

      1番目の引数は、システム・プロパティの名前として扱われます。 システム・プロパティにはSystem.getProperty(java.lang.String)メソッド経由でアクセスできます。 次にこのプロパティの文字列値が、decodeによってサポートされている文法を使って long値として解釈され、この値を表すLongオブジェクトが返されます。

      指定された名前を持つプロパティがない場合、指定された名前が空白またはnullの場合、あるいはプロパティが適切な数値形式でない場合は、nullが返されます。

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

      getLong(nm, null)

      パラメータ:
      nm - プロパティ名。
      戻り値:
      プロパティのLong値。
      例外:
      SecurityException - System.getPropertyと同じ理由のため
      関連項目:
    • getLong

      public static Long getLong(String nm, long val)
      指定された名前のシステム・プロパティのlong値を判定します。

      1番目の引数は、システム・プロパティの名前として扱われます。 システム・プロパティにはSystem.getProperty(java.lang.String)メソッド経由でアクセスできます。 次にこのプロパティの文字列値が、decodeによってサポートされている文法を使って long値として解釈され、この値を表すLongオブジェクトが返されます。

      2番目の引数はデフォルトの値です。 指定された名前のプロパティがない場合、該当するプロパティが適切な数値形式でない場合、あるいは指定した名前が空白またはnullの場合は、Longオブジェクトが示す2番目の引数が返されます。

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

      getLong(nm, new Long(val))
      しかし実際には、次のように実装されます。
       Long result = getLong(nm, null);
       return (result == null) ? new Long(val) : result;
       
      この実装により、デフォルトの値が不要な場合に、Longオブジェクトの余計な割り当てを避けることができます。

      パラメータ:
      nm - プロパティ名。
      val - デフォルト値。
      戻り値:
      プロパティのLong値。
      例外:
      SecurityException - System.getPropertyと同じ理由のため
      関連項目:
    • getLong

      public static Long getLong(String nm, Long val)
      指定された名前のシステム・プロパティのlong値を返します。 1番目の引数は、システム・プロパティの名前として扱われます。 システム・プロパティにはSystem.getProperty(java.lang.String)メソッド経由でアクセスできます。 次にこのプロパティの文字列値がdecodeメソッドのとおりにlong値として解釈され、この値を表すLong オブジェクトが返されます。要するに次のようになります。
      • プロパティの値が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進整数として構文解析される。

      以上のどの場合でも、型指定子としてL ('\u004C')またはl ('\u006C')をプロパティ値の末尾に付けることは、Javaプログラミング言語のソース・コードの場合とは異なり許可されません。

      2番目の引数はデフォルトの値です。 指定された名前のプロパティがない場合、該当するプロパティが適切な数値形式でない場合、あるいは指定した名前が空白またはnullの場合は、デフォルト値が返されます。

      パラメータ:
      nm - プロパティ名。
      val - デフォルト値。
      戻り値:
      プロパティのLong値。
      例外:
      SecurityException - System.getPropertyと同じ理由のため
      関連項目:
    • compareTo

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

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

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

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

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

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

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

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

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

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

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

      • floor(log2(x)) = 63 - numberOfLeadingZeros(x)
      • ceil(log2(x)) = 64 - numberOfLeadingZeros(x - 1)

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

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

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

      public static long rotateLeft(long i, int distance)
      指定されたlong値の2の補数バイナリ表現を指定したビット数だけ左に回転して取得された値を返します。 ビットは、左側つまり上位にシフトされ、右側つまり下位に入ります。

      負の距離による左回転は、右回転と等価です(rotateLeft(val, -distance) == rotateRight(val, distance))。 また、64の倍数による回転は何も行わないため、回転距離の最後の6ビット以外は、距離が負の場合でもすべて無視できることに注意してください(rotateLeft(val, distance) == rotateLeft(val, distance & 0x3F))。

      パラメータ:
      i - ビットが左に回転される値
      distance - 左に回転するビット位置の数
      戻り値:
      指定されたlong値の2の補数バイナリ表現を指定されたビット数だけ左に回転して取得した値。
      導入されたバージョン:
      1.5
    • rotateRight

      public static long rotateRight(long i, int distance)
      指定されたlong値の2の補数バイナリ表現を指定したビット数だけ右に回転して取得された値を返します。 ビットは、右側つまり下位にシフトされ、左側つまり上位に入ります。

      負の距離による右回転は、左回転と等価です(rotateRight(val, -distance) == rotateLeft(val, distance))。 また、64の倍数による回転は何も行わないため、回転距離の最後の6ビット以外は、距離が負の場合でもすべて無視できることに注意してください(rotateRight(val, distance) == rotateRight(val, distance & 0x3F))。

      パラメータ:
      i - ビットが右に回転される値
      distance - 右に回転するビット位置の数
      戻り値:
      指定されたlong値の2の補数バイナリ表現を指定されたビット数だけ右に回転して取得された値。
      導入されたバージョン:
      1.5
    • reverse

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

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

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

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

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

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

      public Optional<Long> describeConstable()
      このインスタンス自体の名目記述子を含むOptionalを返します。
      定義:
      インタフェースConstable内のdescribeConstable
      戻り値:
      Longインスタンスを説明するOptional
      導入されたバージョン:
      12
    • resolveConstantDesc

      public Long resolveConstantDesc(MethodHandles.Lookup lookup)
      このインスタンスをConstantDescとして解決します。その結果がインスタンス自体です。
      定義:
      インタフェースConstantDesc内のresolveConstantDesc
      パラメータ:
      lookup - ignored
      戻り値:
      Longインスタンス
      導入されたバージョン:
      12