クラスLong
- すべての実装されたインタフェース:
Serializable,Comparable<Long>,Constable,ConstantDesc
Longクラスは、プリミティブ型longの値の「ラッパー・クラス」です。 Long型のオブジェクトには、型がlongの単一フィールドが含まれます。
また、このクラスには、longをStringに変換するメソッドと、Stringを longに変換するメソッド、およびlongを処理する際に役立つその他の定数やメソッドが用意されています。
これはvalue-basedクラスです。プログラマは、equalのインスタンスを交換可能として扱い、同期にインスタンスを使用しないようにする必要があります。そうしないと、予期しない動作が発生する可能性があります。 たとえば、将来のリリースでは、同期が失敗する可能性があります。
実装にあたってのノート: 「bit twiddling (ビット回転)」メソッド(highestOneBitやnumberOfTrailingZerosなど)の実装は、Henry S. Warren、Jr.のHacker's Delight、(Addison Wesley, 2002)およびHacker's Delight, Second Edition、(Pearson Education, 2013)。
- 導入されたバージョン:
- 1.0
- 関連項目:
-
フィールドのサマリー
フィールド -
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明static intbitCount(long i) 指定されたlong値の2の補数バイナリ表現での、1のビットの数を返します。byteこのLongの縮小プリミティブ変換後の値をbyteとして返します。static intcompare(long x, long y) 2つのlong値を数値的に比較します。int2つのLongオブジェクトを数値的に比較します。static intcompareUnsigned(long x, long y) 2つのlong値を符号なしとして処理して数値的に比較します。static longcompress(long i, long mask) 指定されたビット・マスクに従って、指定されたlong値iのビットを圧縮することによって取得された値を返します。static LongStringをLongにデコードします。このインスタンス自体の名目記述子を含むOptionalを返します。static longdivideUnsigned(long dividend, long divisor) 第1引数を第2引数で除算した符号なしの商を返します(各引数と結果は符号なしの値として解釈されます)。doubleこのLongの拡張プリミティブ変換後の値をdoubleとして返します。booleanこのオブジェクトを指定されたオブジェクトと比較します。static longexpand(long i, long mask) 指定されたビット・マスクに従って、指定されたlong値iのビットを拡張することによって取得された値を返します。floatこのLongの拡張プリミティブ変換後の値をfloatとして返します。static Long指定された名前のシステム・プロパティのlong値を判定します。static Long指定された名前のシステム・プロパティのlong値を判定します。static Long指定された名前のシステム・プロパティのlong値を返します。inthashCode()このLongのハッシュ・コードを返します。static inthashCode(long value) Long.hashCode()との互換性がある、long値のハッシュ・コードを返します。static longhighestOneBit(long i) 指定されたlong値の最上位(「もっとも左側」)の1のビットの位置に最大で1つの1のビットを持つlong値を返します。intintValue()このLongの縮小プリミティブ変換後の値をintとして返します。longこのLongの値をlong値として返します。static longlowestOneBit(long i) 指定されたlong値の最下位(「もっとも右側」)の1のビットの位置に最大で1つの1のビットを持つlong値を返します。static longmax(long a, long b) Math.maxを呼び出した場合と同様に、2つのlong値の大きいほうを返します。static longmin(long a, long b) Math.minを呼び出した場合と同様に、2つのlong値の小さいほうを返します。static intnumberOfLeadingZeros(long i) 指定されたlong値の2の補数バイナリ表現の最上位(「もっとも左側」)の1のビットに先行するゼロのビットの数を返します。static intnumberOfTrailingZeros(long i) 指定されたlong値の2の補数バイナリ表現で最下位(「もっとも右側」)の1ビットに続くゼロのビットの数を返します。static longparseLong(CharSequence s, int beginIndex, int endIndex, int radix) CharSequence引数を、指定されたradixで署名されたlongとして解析します。指定されたbeginIndexからendIndex - 1まで続きます。static long文字列の引数を符号付き10進数longとして構文解析します。static long2番目の引数に指定された基数をもとにして、文字列の引数を符号付きlongとして構文解析します。static longparseUnsignedLong(CharSequence s, int beginIndex, int endIndex, int radix) CharSequence引数を、指定されたradixの署名されていないlongとして解析します。指定されたbeginIndexからendIndex - 1まで続きます。static long文字列の引数を符号なし10進数のlongとして構文解析します。static longparseUnsignedLong(String s, int radix) 2番目の引数に指定された基数をもとにして、文字列の引数を符号なしlongとして構文解析します。static longremainderUnsigned(long dividend, long divisor) 第1引数を第2引数で割った符号なしの余りを返します。各引数と結果は符号なしの値として解釈されます。このインスタンスをConstantDescとして解決します。その結果がインスタンス自体です。static longreverse(long i) 指定されたlong値の2の補数バイナリ表現でビットの順序を逆にして取得された値を返します。static longreverseBytes(long i) 指定されたlong値の2の補数バイナリ表現でバイトの順序を逆にして取得された値を返します。static longrotateLeft(long i, int distance) 指定されたlong値の2の補数バイナリ表現を指定したビット数だけ左に回転して取得された値を返します。static longrotateRight(long i, int distance) 指定されたlong値の2の補数バイナリ表現を指定したビット数だけ右に回転して取得された値を返します。shortこのLongの縮小プリミティブ変換後の値をshortとして返します。static intsignum(long i) 指定されたlong値の符号要素を返します。static longsum(long a, long b) +演算子のように、2つのlong値を加算します。static StringtoBinaryString(long i) long引数の文字列表現を、基数 2の符号なし整数として返します。static StringtoHexString(long i) long引数の文字列表現を、基数 16の符号なし整数として返します。static StringtoOctalString(long i) long引数の文字列表現を、基数 8の符号なし整数として返します。toString()このlongの値を表すStringオブジェクトを返します。static StringtoString(long i) 指定されたlongを表すStringオブジェクトを返します。static StringtoString(long i, int radix) 2番目の引数を基数として、1番目の引数の文字列表現を返します。static StringtoUnsignedString(long i) 引数の文字列表現を、符号なし10進値として返します。static StringtoUnsignedString(long i, int radix) 1番目の引数の文字列表現を、2番目の引数で指定された基数の符号なし整数値として返します。static LongvalueOf(long l) 指定されたlong値を表すLongインスタンスを返します。static Long指定されたStringの値を保持するLongオブジェクトを返します。static Long2番目の引数で指定された基数を使用した構文解析時に、指定されたStringから抽出された値を保持するLongオブジェクトを返します。
-
フィールド詳細
-
MIN_VALUE
-
MAX_VALUE
-
TYPE
-
SIZE
-
BYTES
public static final int BYTES2の補数バイナリ形式で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'です。radixがNの場合、これらの文字の先頭から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であるか、長さゼロの文字列である。 radixがCharacter.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を含まない場合。
- 1番目の引数が
-
parseLong
public static long parseLong(CharSequence s, int beginIndex, int endIndex, int radix) throws NumberFormatException CharSequence引数を、指定されたradixで署名されたlongとして解析します。指定されたbeginIndexからendIndex - 1まで続きます。このメソッドは、解析中に変更される
CharSequenceに対して保護するステップを実行しません。- パラメータ:
s- パースされるlong表現を含むCharSequencebeginIndex- 開始インデックス(この値を含む)。endIndex- 終了インデックス(この値を含まない)。radix-sの構文解析時に使用する基数。- 戻り値:
- 指定された基数内の部分列で表される符号付き
long。 - スロー:
NullPointerException-sがnullである場合。IndexOutOfBoundsException-beginIndexが負の場合、またはbeginIndexがendIndexより大きい場合、またはendIndexがs.length()より大きい場合。NumberFormatException-CharSequenceが指定されたradixに解析可能なlongを含まない場合、またはradixがCharacter.MIN_RADIXより小さいかCharacter.MAX_RADIXより大きい場合。- 導入されたバージョン:
- 9
-
parseLong
public static long parseLong(String s) throws NumberFormatException 文字列の引数を符号付き10進数longとして構文解析します。 文字列内の文字はすべて、10進数の桁である必要があります。ただし先頭の文字だけは、負の値を示すASCIIマイナス記号'-'('\u002D')、正の値を示すASCIIプラス記号'+'('\u002B')のどちらであってもかまいません。 結果となるlong値が返されます。これは、その引数と基数10がparseLong(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- 解析対象の符号なし整数表現を含むStringradix-sの構文解析時に使用する基数。- 戻り値:
- 指定された基数での、文字列引数で表される符号なし
long値。 - スロー:
NumberFormatException-Stringが解析可能なlongを含まない場合。- 導入されたバージョン:
- 1.8
- 1番目の引数が
-
parseUnsignedLong
public static long parseUnsignedLong(CharSequence s, int beginIndex, int endIndex, int radix) throws NumberFormatException CharSequence引数を、指定されたradixの署名されていないlongとして解析します。指定されたbeginIndexからendIndex - 1まで続きます。このメソッドは、解析中に変更される
CharSequenceに対して保護するステップを実行しません。- パラメータ:
s- パースされていない符号なしlong表現を含むCharSequencebeginIndex- 開始インデックス(この値を含む)。endIndex- 終了インデックス(この値を含まない)。radix-sの構文解析時に使用する基数。- 戻り値:
- 指定された基数内の部分列で表される符号なし
long。 - スロー:
NullPointerException-sがnullである場合。IndexOutOfBoundsException-beginIndexが負の場合、またはbeginIndexがendIndexより大きい場合、またはendIndexがs.length()より大きい場合。NumberFormatException-CharSequenceが指定されたradixに解析できない符号なしlongを含んでいない場合、またはradixがCharacter.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オブジェクトの値は、次の値に等しくなります。Long.valueOf(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オブジェクトの値は、次の値に等しくなります。Long.valueOf(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 StringをLongにデコードします。 次の文法の10進数、16進数、および8進数を指定できます。
DecimalNumeral、HexDigitsおよびOctalDigitsは、「Java言語仕様」の3.10.1項で定義されているとおりですが、数字の間にアンダースコアは使用できません。- DecodableString:
- Signopt DecimalNumeral
- Signopt
0xHexDigits- Signopt
0XHexDigits- Signopt
#HexDigits- Signopt
0OctalDigits - Signopt
- Sign:
-+
オプションの符号と基数指示子のどちらかまたはその両方に続く文字シーケンス(「
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
-
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)メソッドの引数として指定された場合とまったく同じです。 -
hashCode
-
hashCode
public static int hashCode(long value) Long.hashCode()との互換性がある、long値のハッシュ・コードを返します。- パラメータ:
value- ハッシュ対象の値- 戻り値:
long値のハッシュ・コード値。- 導入されたバージョン:
- 1.8
-
equals
-
getLong
指定された名前のシステム・プロパティのlong値を判定します。1番目の引数は、システム・プロパティの名前として扱われます。 システム・プロパティには
System.getProperty(java.lang.String)メソッド経由でアクセスできます。 このプロパティの文字列値は、decodeでサポートされている文法を使用してlong値として解釈され、この値を表すLongオブジェクトが戻されます。指定された名前を持つプロパティがない場合、指定された名前が空白または
nullの場合、あるいはプロパティが適切な数値形式でない場合は、nullが返されます。つまり、このメソッドが返す
Longオブジェクトの値は、次の値に等しくなります。getLong(nm, null)- パラメータ:
nm- プロパティ名。- 戻り値:
- プロパティの
Long値。 - 関連項目:
-
getLong
指定された名前のシステム・プロパティのlong値を判定します。1番目の引数は、システム・プロパティの名前として扱われます。 システム・プロパティには
System.getProperty(java.lang.String)メソッド経由でアクセスできます。 このプロパティの文字列値は、decodeでサポートされている文法を使用してlong値として解釈され、この値を表すLongオブジェクトが戻されます。2番目の引数はデフォルトの値です。 指定された名前のプロパティがない場合、該当するプロパティが適切な数値形式でない場合、あるいは指定した名前が空白またはnullの場合は、
Longオブジェクトが示す2番目の引数が返されます。つまり、このメソッドが返す
Longオブジェクトの値は、次の値に等しくなります。
しかし実際には、次のように実装されます。getLong(nm, Long.valueOf(val))
この実装により、デフォルトの値が不要な場合に、Long result = getLong(nm, null); return (result == null) ? Long.valueOf(val) : result;
Longオブジェクトの余計な割り当てを避けることができます。- パラメータ:
nm- プロパティ名。val- デフォルト値。- 戻り値:
- プロパティの
Long値。 - 関連項目:
-
getLong
指定された名前のシステム・プロパティの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値。 - 関連項目:
- プロパティの値が2つのASCII文字
-
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- 比較する最初のlongy- 比較する2番目のlong- 戻り値:
x == yの場合は値0、x < yの場合は0より小さい値、x> yの場合は0より大きい値- 導入されたバージョン:
- 1.7
-
compareUnsigned
public static int compareUnsigned(long x, long y) 2つのlong値を符号なしとして処理して数値的に比較します。- パラメータ:
x- 比較する最初のlongy- 比較する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
- floor(log2(x)) =
-
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
-
compress
public static long compress(long i, long mask) 指定されたビット・マスクに従って、指定されたlong値iのビットを圧縮することによって取得された値を返します。マスクの1ビット値
mbごとに、最下位から最上位まで、mbと同じビット・ロケーションにあるiのビット値は、最下位ビット・ロケーションから連続して圧縮値に割り当てられます。 圧縮値の残りのすべてのビットはゼロに設定されます。- APIのノート:
- 16進値の桁を圧縮する単純なケースについて考えます:
右から位置0の最下位16進数から始めて、マスク
// Compressing drink to food compress(0xCAFEBABEL, 0xFF00FFF0L) == 0xCABABL0xFF00FFF0は0xCAFEBABEの位置1、2、3、6および7で16進数を選択します。 選択した桁は、同じ順序で桁位置0から連続して圧縮された値で発生します。次のアイデンティティはすべて
trueを返し、compressの動作を理解するのに役立ちます:// Returns 1 if the bit at position n is one compress(x, 1L << n) == (x >> n & 1) // Logical shift right compress(x, -1L << n) == x >>> n // Any bits not covered by the mask are ignored compress(x, m) == compress(x & m, m) // Compressing a value by itself compress(m, m) == (m == -1 || m == 0) ? m : (1L << bitCount(m)) - 1 // Expanding then compressing with the same mask compress(expand(x, m), m) == x & compress(m, m)Sheep and Goats (SAG)演算(Hacker's Delight、Second Editionのセクション7.7を参照してください)は次のように実装できます:
long compressLeft(long i, long mask) { // This implementation follows the description in Hacker's Delight which // is informative. A more optimal implementation is: // Long.compress(i, mask) << -Long.bitCount(mask) return Long.reverse( Long.compress(Long.reverse(i), Long.reverse(mask))); } long sag(long i, long mask) { return compressLeft(i, mask) | Long.compress(i, ~mask); } // Separate the sheep from the goats sag(0x00000000_CAFEBABEL, 0xFFFFFFFF_FF00FFF0L) == 0x00000000_CABABFEEL - パラメータ:
i- ビットが圧縮される値mask- ビット・マスク- 戻り値:
- 圧縮された値
- 導入されたバージョン:
- 19
- 関連項目:
-
expand
public static long expand(long i, long mask) 指定されたビット・マスクに従って、指定されたlong値iのビットを拡張することによって取得された値を返します。マスクの1ビット値
mbごとに、最も重要度が低いビットから最も重要度の高いビット値までのiの次の連続ビット値が、mbと同じビット・ロケーションの拡張値に割り当てられます。 拡張値の残りのビットはすべてゼロに設定されます。- APIのノート:
- 16進値の桁を広げる単純なケースを考えてみます:
右側から位置0の最下位16進数から始めて、マスク
expand(0x0000CABABL, 0xFF00FFF0L) == 0xCA00BAB0L0xFF00FFF0は0x0000CABABの最初の5桁の16進数を選択します。 選択した桁は、位置1、2、3、6および7の順に展開された値になります。次のアイデンティティはすべて
trueを返し、expandの動作を理解するのに役立ちます:// Logically shift right the bit at position 0 expand(x, 1L << n) == (x & 1) << n // Logically shift right expand(x, -1L << n) == x << n // Expanding all bits returns the mask expand(-1L, m) == m // Any bits not covered by the mask are ignored expand(x, m) == expand(x, m) & m // Compressing then expanding with the same mask expand(compress(x, m), m) == x & mlong値内の索引nを持つ1ビットの位置を決定select演算は、次のように実装できます:long select(long i, long n) { // the one-bit in i (the mask) with index n long nthBit = Long.expand(1L << n, i); // the bit position of the one-bit with index n return Long.numberOfTrailingZeros(nthBit); } // The one-bit with index 0 is at bit position 1 select(0b10101010_10101010, 0) == 1 // The one-bit with index 3 is at bit position 7 select(0b10101010_10101010, 3) == 7 - パラメータ:
i- ビットを展開する値mask- ビット・マスク- 戻り値:
- 拡張値
- 導入されたバージョン:
- 19
- 関連項目:
-
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オペランド- 戻り値:
aとbの合計- 導入されたバージョン:
- 1.8
- 関連項目:
-
max
public static long max(long a, long b) Math.maxを呼び出した場合と同様に、2つのlong値の大きいほうを返します。- パラメータ:
a- 第1オペランドb- 第2オペランド- 戻り値:
aとbのどちらか大きい方- 導入されたバージョン:
- 1.8
- 関連項目:
-
min
public static long min(long a, long b) Math.minを呼び出した場合と同様に、2つのlong値の小さいほうを返します。- パラメータ:
a- 第1オペランドb- 第2オペランド- 戻り値:
aとbのどちらか小さい方- 導入されたバージョン:
- 1.8
- 関連項目:
-
describeConstable
-
resolveConstantDesc
public Long resolveConstantDesc(MethodHandles.Lookup lookup) このインスタンスをConstantDescとして解決します。その結果がインスタンス自体です。- 定義:
- インタフェース
ConstantDesc内のresolveConstantDesc - パラメータ:
lookup- 無視されます- 戻り値:
- Longインスタンス
- 導入されたバージョン:
- 12
-