JavaTM 2 Platform
Std. Ed. v1.3

java.lang
クラス Long

java.lang.Object
  |
  +--java.lang.Number
        |
        +--java.lang.Long
すべての実装インタフェース:
Comparable, Serializable

public final class Long
extends Number
implements Comparable

Long クラスは、プリミティブ型 long の値をオブジェクト内にラップします。Long 型のオブジェクトには、型が long の単一フィールドが入ります。

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

導入されたバージョン:
JDK1.0
関連項目:
直列化された形式

フィールドの概要
static long MAX_VALUE
          long 型の最大値です。
static long MIN_VALUE
          long 型の最小値です。
static Class TYPE
          プリミティブ型 long を表す Class オブジェクトです。
 
コンストラクタの概要
Long(long value)
          プリミティブな long の引数を表す、新しく割り当てられた Long オブジェクトを構築します。
Long(String s)
          文字列が 10 進数で表現された値を表す、新しく割り当てられた Long オブジェクトを構築します。
 
メソッドの概要
 byte byteValue()
          この Long の値を byte 値として返します。
 int compareTo(Long anotherLong)
          2 つの Long の値を比較します。
 int compareTo(Object o)
          この Long をほかの Object と比較します。
static Long decode(String nm)
          StringLong に復号化します。
 double doubleValue()
          この Long の値を double 値として返します。
 boolean equals(Object obj)
          このオブジェクトを指定されたオブジェクトと比較します。
 float floatValue()
          この Long の値を float 値として返します。
static Long getLong(String nm)
          指定された名前のシステムプロパティの long 値を判定します。
static Long getLong(String nm, long val)
          指定された名前のシステムプロパティの long 値を判定します。
static Long getLong(String nm, Long val)
          指定された名前のシステムプロパティの long 値を返します。
 int hashCode()
          この Long のハッシュコードを返します。
 int intValue()
          この Long の値を int 値として返します。
 long longValue()
          この Long の値を long 値として返します。
static long parseLong(String s)
          文字列の引数を符号付き 10 進数の long 値として解析します。
static long parseLong(String s, int radix)
          2 番目の引数により指定された基数を元にして、文字列の引数を符号付き long 値として解析します。
 short shortValue()
          この Long の値を short 値として返します。
static String toBinaryString(long i)
          long 型の引数の文字列表現を、基数 2 の符号なし整数として生成します。
static String toHexString(long i)
          long 型の引数の文字列表現を、基数 16 の符号なし整数として生成します。
static String toOctalString(long i)
          long 型の引数の文字列表現を、基数 8 の符号なし整数として生成します。
 String toString()
          この Long の値を表す String オブジェクトを返します。
static String toString(long i)
          指定された整数を表す新しい String オブジェクトを返します。
static String toString(long i, int radix)
          2 番目の引数を基数として、1 番目の引数の文字列表現を作成します。
static Long valueOf(String s)
          指定された String の値に初期化された新しい long オブジェクトを返します。
static Long valueOf(String s, int radix)
          指定された String の値に初期化された新しい long オブジェクトを返します。
 
クラス java.lang.Object から継承したメソッド
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

MIN_VALUE

public static final long MIN_VALUE
long 型の最小値です。

MAX_VALUE

public static final long MAX_VALUE
long 型の最大値です。

TYPE

public static final Class TYPE
プリミティブ型 long を表す Class オブジェクトです。
導入されたバージョン:
JDK1.1
コンストラクタの詳細

Long

public Long(long value)
プリミティブな long の引数を表す、新しく割り当てられた Long オブジェクトを構築します。
パラメータ:
value - Long オブジェクトが表す値

Long

public Long(String s)
     throws NumberFormatException
文字列が 10 進数で表現された値を表す、新しく割り当てられた Long オブジェクトを構築します。文字列は、基数 10 で parseLong(java.lang.String, int) メソッドを使用するのとまったく同じように long に変換されます。
パラメータ:
s - Long に変換する文字列
例外:
NumberFormatException - String が解析可能な長整数を含まない場合
関連項目:
valueOf(java.lang.String)
メソッドの詳細

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' になります。基数を N とすると、これらの文字の 1 文字目から N 文字目までが、基数 -N 桁として順に使われます。すなわち、16 進数 (基数は 16) に使われる桁の数字は 0123456789abcdef となります。大文字を使いたい場合は、生成された文字列に対して String.toUpperCase() メソッドを呼び出すことができます。
 Long.toString(n, 16).toUpperCase()
 
パラメータ:
i - long 値
radix - 基数
戻り値:
指定された基数での、引数の文字列表現
関連項目:
Character.MAX_RADIX, Character.MIN_RADIX

toHexString

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

符号なし long 値は、引数が負の数の場合は、引数に 264 を加算した値になります。そうでない場合は、引数に等しい値になります。

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

 0123456789abcdef
 
これらは '\u0030''\u0039' と、'\u0061''\u0066' の文字です。大文字を使いたい場合は、生成された文字列に対して String.toUpperCase() メソッドを呼び出すことができます。
 Long.toHexString(n).toUpperCase()
 
パラメータ:
i - long
戻り値:
16 進数 (基数 16) の引数で表される符号なし long 値の文字列表現
導入されたバージョン:
JDK 1.0.2

toOctalString

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

符号なし long 値は、引数が負の数の場合は、引数に 264 を加算した値になります。そうでない場合は、引数に等しい値になります。

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

 01234567
 
これらは、'\u0030''\u0037' の文字です。
パラメータ:
i - long
戻り値:
8 進数 (基数 8) の引数で表される符号なし long 値の文字列表現
導入されたバージョン:
JDK 1.0.2

toBinaryString

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

符号なし long 値は、引数が負の数の場合は、引数に 264 を加算した値になります。そうでない場合は、引数に等しい値になります。

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

パラメータ:
i - long 値
戻り値:
2 進数 (基数 2) の引数で表される符号なし long 値の文字列表現
導入されたバージョン:
JDK 1.0.2

toString

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

parseLong

public static long parseLong(String s,
                             int radix)
                      throws NumberFormatException
2 番目の引数により指定された基数を元にして、文字列の引数を符号付き long 値として解析します。文字列にある文字はすべて、指定された基数の桁に使う文字でなければなりません。これは、Character.digit が負ではない値を返すかどうかによって調べることができます。ただし、1 番目の文字だけは、負の値を表すためにマイナス記号の ASCII 文字 '-' ('\u002d') であってもかまいません。以上の結果生成された long 値を返します。

L または l を型指定子として文字列の末尾に付けることは、Java プログラム言語のソースコードの場合とは違って許されません。ただし、基数が 22 よりも大きい桁の数字には、L または l が現われます。

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

 parseLong("0", 10) は 0L を返す
 parseLong("473", 10) は 473L を返す
 parseLong("-0", 10) は 0L を返す
 parseLong("-FF", 16) は -255L を返す
 parseLong("1100110", 2) は 102L を返す
 parseLong("99", 8) は NumberFormatException をスローする
 parseLong("Hazelnut", 10) は NumberFormatException をスローする
 parseLong("Hazelnut", 36) は 1356099454469L を返す
 
パラメータ:
s - long 値を含む String
radix - 使用される基数
戻り値:
指定された基数での、文字列引数で表される long
例外:
NumberFormatException - 文字列が解析可能な整数型を含まない場合

parseLong

public static long parseLong(String s)
                      throws NumberFormatException
文字列の引数を符号付き 10 進数の long 値として解析します。文字列にある文字はすべて、10 進数でなければなりません。ただし、1 番目の文字だけは、負の値を表すためにマイナス記号の ASCII 文字 '-' ('\u002d') であってもかまいません。以上の結果生成された long 値が返されます。これは、この引数と基数 10 が、2 つの引数をとる parseLong(String, int) メソッドに引数として指定された場合とまったく同じです。

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

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

valueOf

public static Long valueOf(String s,
                           int radix)
                    throws NumberFormatException
指定された String の値に初期化された新しい long オブジェクトを返します。String を long 値として解析できない場合は例外がスローされます。

1 番目の引数は、2 番目の引数で指定された基数による符号付き整数を表すと解釈されます。これは、2 つの引数をとる parseLong(java.lang.String, int) メソッドにこの引数が指定された場合とまったく同じです。生成された結果は、文字列に指定された整数値を表す Long オブジェクトになります。

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

 new Long(Long.parseLong(s, radix))
 
パラメータ:
s - long 値を含む String
radix - 使用される基数
戻り値:
指定された基数での、文字列引数で表される値に初期化された、新しく作成された Long
例外:
NumberFormatException - String が解析可能な long 値を含まない場合

valueOf

public static Long valueOf(String s)
                    throws NumberFormatException
指定された String の値に初期化された新しい long オブジェクトを返します。String を long 値として解析できない場合は例外がスローされます。基数は 10 と見なされます。

引数は、符号付き 10 進整数を表すと解釈されます。これは、1 つの引数をとる parseLong(java.lang.String) メソッドにこの引数が指定された場合とまったく同じです。生成された結果は、文字列に指定された整数値を表す Long オブジェクトになります。

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

 new Long(Long.parseLong(s))
 
パラメータ:
s - 解析される文字列
戻り値:
新しく構築された Long。文字列引数で表される値に初期化されている
例外:
NumberFormatException - String が解析可能な long 値を含まない場合

decode

public static Long decode(String nm)
                   throws NumberFormatException
StringLong に復号化します。以下の形式の、10 進数、16 進数、および 8 進数を指定できます。
     [-]       10 進定数
     [-] 0x    16 進定数
     [-] #     16 進定数
     [-] 0     8 進定数
 
負の符号か基数指示子のどちらか、あるいはその両方の後にある定数は、指定された基数 (10、8、あるいは 16) で Long.parseLong メソッドを使う場合と同じように解析されます。この定数は正の数でなければならず、そうでない場合は NumberFormatException がスローされます。指定された String の 1 番目の文字が負の符号である場合、生成された結果は負の値となります。この String では、空白文字を指定することはできません。
パラメータ:
nm - 復号化対象の String
戻り値:
指定された文字列によって表わされる Long
例外:
NumberFormatException - 文字列が解析可能な long 値を含まない場合
関連項目:
parseLong(String, int)

byteValue

public byte byteValue()
この Long の値を byte 値として返します。
オーバーライド:
クラス Number 内の byteValue
導入されたバージョン:
JDK1.1

shortValue

public short shortValue()
この Long の値を short 値として返します。
オーバーライド:
クラス Number 内の shortValue
導入されたバージョン:
JDK1.1

intValue

public int intValue()
この Long の値を int 値として返します。
オーバーライド:
クラス Number 内の intValue
戻り値:
このオブジェクトが表す long 値の int 型に変換された値

longValue

public long longValue()
この Long の値を long 値として返します。
オーバーライド:
クラス Number 内の longValue
戻り値:
このオブジェクトが表す long

floatValue

public float floatValue()
この Long の値を float 値として返します。
オーバーライド:
クラス Number 内の floatValue
戻り値:
このオブジェクトが表す long 値の float 型に変換された値

doubleValue

public double doubleValue()
この Long の値を double 値として返します。
オーバーライド:
クラス Number 内の doubleValue
戻り値:
このオブジェクトが表す long 値の double 型に変換された値

toString

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

hashCode

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

equals

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

getLong

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

1 番目の引数は、システムプロパティの名前として扱われます。システムプロパティには System.getProperty(java.lang.String) メソッドでアクセスできます。次にこのプロパティの文字列値が long 値として扱われ、この値を表す Long オブジェクトが返されます。可能な数値形式については、getProperty の定義を参照してください。

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

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

 getLong(nm, null)
 
パラメータ:
nm - プロパティ名
戻り値:
プロパティの Long
関連項目:
System.getProperty(java.lang.String), System.getProperty(java.lang.String, java.lang.String)

getLong

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

1 番目の引数は、システムプロパティの名前として扱われます。システムプロパティには System.getProperty(java.lang.String) メソッドでアクセスできます。次にこのプロパティの文字列値が long 値として扱われ、この値を表す Long オブジェクトが返されます。可能な数値形式については、getProperty の定義を参照してください。

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
関連項目:
System.getProperty(java.lang.String), System.getProperty(java.lang.String, java.lang.String)

getLong

public static Long getLong(String nm,
                           Long val)
指定された名前のシステムプロパティの long 値を返します。1 番目の引数は、システムプロパティの名前として扱われます。システムプロパティには System.getProperty(java.lang.String) メソッドでアクセスできます。次にこのプロパティの文字列値が Long.decode メソッドの場合と同じように long 値として扱われ、この値を表す Long オブジェクトが返されます。

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

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

パラメータ:
nm - プロパティ名
val - デフォルト値
戻り値:
プロパティの Long
関連項目:
System.getProperty(java.lang.String), System.getProperty(java.lang.String, java.lang.String), decode(java.lang.String)

compareTo

public int compareTo(Long anotherLong)
2 つの Long の値を比較します。
パラメータ:
anotherLong - 比較対象の Long
戻り値:
引数 Long がこの Long と同じ数値の場合は値 0、この Long が引数 Long よりも小さい数値の場合は 0 よりも小さい値、この Long が引数 Long よりも大きい数値の場合は 0 よりも大きい値 (符号付きの比較)
導入されたバージョン:
1.2

compareTo

public int compareTo(Object o)
この Long をほかの Object と比較します。指定された Object が Long の場合、この関数の動作は compareTo(Long) と同じです。そうでない場合は、ClassCastException がスローされます。これは、Long の比較は Long 同士でしか行えないためです。
定義:
インタフェース Comparable 内の compareTo
パラメータ:
o - 比較対象の Object
戻り値:
引数がこの Long と同じ数値の場合は値 0。引数がこの Long より大きい数値の場合は 0 より小さい値。引数がこの Long より小さい数値の場合は 0 より大きい値
例外:
ClassCastException - 引数が Long ではない場合
導入されたバージョン:
1.2
関連項目:
Comparable

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.