- すべての実装されたインタフェース:
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)に基づいています。
- 導入されたバージョン:
- 1.0
- 関連項目:
-
フィールドのサマリー
フィールド -
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明static int
bitCount
(long i) 指定されたlong
値の2の補数バイナリ表現での、1のビットの数を返します。byte
このLong
の縮小プリミティブ変換後の値をbyte
として返します。static int
compare
(long x, long y) 2つのlong
値を数値的に比較します。int
2つのLong
オブジェクトを数値的に比較します。static int
compareUnsigned
(long x, long y) 2つのlong
値を符号なしとして処理して数値的に比較します。static Long
String
をLong
にデコードします。このインスタンス自体の名目記述子を含むOptional
を返します。static long
divideUnsigned
(long dividend, long divisor) 第1引数を第2引数で除算した符号なしの商を返します(各引数と結果は符号なしの値として解釈されます)。double
このLong
の拡張プリミティブ変換後の値をdouble
として返します。boolean
このオブジェクトを指定されたオブジェクトと比較します。float
このLong
の拡張プリミティブ変換後の値をfloat
として返します。static Long
指定された名前のシステム・プロパティのlong
値を判定します。static Long
指定された名前のシステム・プロパティのlong
値を判定します。static Long
指定された名前のシステム・プロパティのlong
値を返します。int
hashCode()
このLong
のハッシュ・コードを返します。static int
hashCode
(long value) Long.hashCode()
との互換性がある、long
値のハッシュ・コードを返します。static long
highestOneBit
(long i) 指定されたlong
値の最上位(「もっとも左側」)の1のビットの位置に最大で1つの1のビットを持つlong
値を返します。int
intValue()
この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
numberOfLeadingZeros
(long i) 指定されたlong
値の2の補数バイナリ表現の最上位(「もっとも左側」)の1のビットに先行するゼロのビットの数を返します。static int
numberOfTrailingZeros
(long i) 指定された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
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
toBinaryString
(long i) long
引数の文字列表現を、基数 2の符号なし整数として返します。static String
toHexString
(long i) long
引数の文字列表現を、基数 16の符号なし整数として返します。static String
toOctalString
(long i) long
引数の文字列表現を、基数 8の符号なし整数として返します。toString()
このlong
の値を表すString
オブジェクトを返します。static String
toString
(long i) 指定されたlong
を表すString
オブジェクトを返します。static String
toString
(long i, int radix) 2番目の引数を基数として、1番目の引数の文字列表現を返します。static String
toUnsignedString
(long i) 引数の文字列表現を、符号なし10進値として返します。static String
toUnsignedString
(long i, int radix) 1番目の引数の文字列表現を、2番目の引数で指定された基数の符号なし整数値として返します。static Long
valueOf
(long l) 指定されたlong
値を表すLong
インスタンスを返します。static Long
指定されたString
の値を保持するLong
オブジェクトを返します。static Long
2番目の引数で指定された基数を使用した構文解析時に、指定されたString
から抽出された値を保持するLong
オブジェクトを返します。
-
フィールド詳細
-
MIN_VALUE
@Native public static final long MIN_VALUElong
に設定可能な最小値 -263を保持する定数。- 関連項目:
-
MAX_VALUE
@Native public static final long MAX_VALUElong
に設定可能な最大値263-1を保持する定数。- 関連項目:
-
TYPE
プリミティブ型long
を表すClass
インスタンス。- 導入されたバージョン:
- 1.1
-
SIZE
@Native public static final int SIZE2の補数バイナリ形式でlong
値を表すのに使用されるビット数。- 導入されたバージョン:
- 1.5
- 関連項目:
-
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
表現を含むCharSequence
beginIndex
- 開始インデックス(この値を含む)。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
- 解析対象の符号なし整数表現を含むString
radix
-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
表現を含むCharSequence
beginIndex
- 開始インデックス(この値を含む)。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
オブジェクトの値は、次の値に等しくなります。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 String
をLong
にデコードします。 次の文法の10進数、16進数、および8進数を指定できます。- DecodableString:
- Signopt DecimalNumeral
- Signopt
0x
HexDigits- Signopt
0X
HexDigits- Signopt
#
HexDigits- Signopt
0
OctalDigits - 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
public long longValue()このLong
の値を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)
メソッドの引数として指定された場合とまったく同じです。 -
hashCode
public int hashCode()このLong
のハッシュ・コードを返します。 生成された結果は、このLong
オブジェクトが保持するプリミティブlong
値の上位32ビットと下位32ビットの排他的論理和です。 すなわち、ハッシュ・コードは次の式の値になります。(int)(this.longValue()^(this.longValue()>>>32))
-
hashCode
public static int hashCode(long value) Long.hashCode()
との互換性がある、long
値のハッシュ・コードを返します。- パラメータ:
value
- ハッシュ対象の値- 戻り値:
long
値のハッシュ・コード値。- 導入されたバージョン:
- 1.8
-
equals
public boolean equals(Object obj) このオブジェクトを指定されたオブジェクトと比較します。 結果がtrue
になるのは、引数がnull
ではなく、このオブジェクトと同じlong
値を含むLong
オブジェクトである場合だけです。 -
getLong
指定された名前のシステム・プロパティのlong
値を判定します。1番目の引数は、システム・プロパティの名前として扱われます。 システム・プロパティには
System.getProperty(java.lang.String)
メソッド経由でアクセスできます。 次にこのプロパティの文字列値が、decode
によってサポートされている文法を使ってlong
値として解釈され、この値を表すLong
オブジェクトが返されます。指定された名前を持つプロパティがない場合、指定された名前が空白または
null
の場合、あるいはプロパティが適切な数値形式でない場合は、null
が返されます。つまり、このメソッドが返す
Long
オブジェクトの値は、次の値に等しくなります。getLong(nm, null)
- パラメータ:
nm
- プロパティ名。- 戻り値:
- プロパティの
Long
値。 - 例外:
SecurityException
-System.getProperty
と同じ理由のため- 関連項目:
-
getLong
指定された名前のシステム・プロパティの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
指定された名前のシステム・プロパティの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
と同じ理由のため- 関連項目:
- プロパティの値が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
- 比較する最初のlong
y
- 比較する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
- 比較する最初の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
- 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
-
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
このインスタンス自体の名目記述子を含むOptional
を返します。- 定義:
- インタフェース
Constable
内のdescribeConstable
- 戻り値:
- Longインスタンスを説明する
Optional
- 導入されたバージョン:
- 12
-
resolveConstantDesc
public Long resolveConstantDesc(MethodHandles.Lookup lookup) このインスタンスをConstantDesc
として解決します。その結果がインスタンス自体です。- 定義:
- インタフェース
ConstantDesc
内のresolveConstantDesc
- パラメータ:
lookup
- ignored- 戻り値:
- Longインスタンス
- 導入されたバージョン:
- 12
-