|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
java.lang.Object
|
+--java.lang.Number
|
+--java.lang.Double
Double クラスは、プリミティブ型 double の値をオブジェクトにラップします。Double 型のオブジェクトには、型が double の単一フィールドが含まれます。
さらにこのクラスは、double を String に、String を double に変換する各種メソッドや、double の処理時に役立つ定数およびメソッドも提供します。
| フィールドの概要 | |
static double |
MAX_VALUE
double |
static double |
MIN_VALUE
double |
static double |
NaN
double 型の非数 (NaN) 値を保持する定数です。 |
static double |
NEGATIVE_INFINITY
double 型の負の無限大値を保持する定数です。 |
static double |
POSITIVE_INFINITY
double 型の正の無限大値を保持する定数です。 |
static Class |
TYPE
double のプリミティブ型を表す Class インスタンスです。 |
| コンストラクタの概要 | |
Double(double value)
プリミティブ double 引数を表す、新たに割り当てられる Double オブジェクトを構築します。 |
|
Double(String s)
文字列で表される double 型の浮動小数点を表す、新しく割り当てられる Double オブジェクトを構築します。 |
|
| メソッドの概要 | |
byte |
byteValue()
この Double の値を (byte にキャストすることにより) byte として返します。 |
static int |
compare(double d1,
double d2)
指定された 2 つの double 値を比較します。 |
int |
compareTo(Double anotherDouble)
2 つの Double オブジェクトを数値的に比較します。 |
int |
compareTo(Object o)
この Double オブジェクトをほかのオブジェクトと比較します。 |
static long |
doubleToLongBits(double value)
IEEE 754 浮動小数点の「ダブルフォーマット (double format)」ビットレイアウトに従って、指定された浮動小数点の値を表現して返します。 |
static long |
doubleToRawLongBits(double value)
IEEE 754 浮動小数点の「ダブルフォーマット (double format)」ビットレイアウトに従って、非数 (NaN) 値を保持する、指定された浮動小数点値の表現を返します。 |
double |
doubleValue()
この Double オブジェクトの double 値を返します。 |
boolean |
equals(Object obj)
このオブジェクトを指定されたオブジェクトと比較します。 |
float |
floatValue()
この Double オブジェクトの float 値を返します。 |
int |
hashCode()
この Double オブジェクトのハッシュコードを返します。 |
int |
intValue()
この Double の値を (int 型にキャストすることにより) int として返します。 |
boolean |
isInfinite()
この Double 値の絶対値が無限量である場合には true を、そうでない場合には false を返します。 |
static boolean |
isInfinite(double v)
指定された数値の絶対値が無限量である場合には true を、そうでない場合には false を返します。 |
boolean |
isNaN()
この Double 値が非数 (NaN) である場合には true を、そうでない場合は false を返します。 |
static boolean |
isNaN(double v)
指定された数値が非数 (NaN) である場合には true を、そうでない場合は false を返します。 |
static double |
longBitsToDouble(long bits)
指定されたビット表現と対応する double 値を返します。 |
long |
longValue()
この Double の値を (long 型にキャストすることにより) long として返します。 |
static double |
parseDouble(String s)
Double クラスの valueOf メソッドを実行した場合と同様に、指定された String が表す値に初期化された新しい double 値を返します。 |
short |
shortValue()
この Double の値を (short にキャストすることにより) short として返します。 |
String |
toString()
この Double オブジェクトの文字列表現を返します。 |
static String |
toString(double d)
double 引数の文字列表現を返します。 |
static Double |
valueOf(String s)
文字列引数 s で表される double 値を保持する Double オブジェクトを返します。
|
| クラス java.lang.Object から継承したメソッド |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| フィールドの詳細 |
public static final double POSITIVE_INFINITY
double 型の正の無限大値を保持する定数です。Double.longBitsToDouble(0x7ff0000000000000L) によって返される値と同じです。
public static final double NEGATIVE_INFINITY
double 型の負の無限大値を保持する定数です。Double.longBitsToDouble(0xfff0000000000000L) によって返される値と同じです。
public static final double NaN
double 型の非数 (NaN) 値を保持する定数です。Double.longBitsToDouble(0x7ff8000000000000L) によって返される値と同じです。
public static final double MAX_VALUE
double 型の正の最大有限値です。Double.longBitsToDouble(0x7fefffffffffffffL) によって返される値と同じです。
- 関連項目:
- 定数フィールド値
public static final double MIN_VALUE
double 型の正の非ゼロ最小値です。Double.longBitsToDouble(0x1L) によって返される値と同じです。
- 関連項目:
- 定数フィールド値
public static final Class TYPE
double のプリミティブ型を表す Class インスタンスです。
| コンストラクタの詳細 |
public Double(double value)
double 引数を表す、新たに割り当てられる Double オブジェクトを構築します。
value - Double によって表される値
public Double(String s)
throws NumberFormatException
double 型の浮動小数点を表す、新しく割り当てられる Double オブジェクトを構築します。文字列は、valueOf メソッドと同様に double 値に変換されます。
s - Double に変換する文字列
NumberFormatException - 文字列が構文解析可能な数値を含まない場合valueOf(java.lang.String)| メソッドの詳細 |
public static String toString(double d)
double 引数の文字列表現を返します。以下の文字はすべて ASCII 文字です。
NaN」
-' ('\u002D')。符号が正の場合、変換後の文字列に符号文字は表示されない。絶対値 m については、次のとおり。
"Infinity" という文字列で表す。つまり、正の無限大は "Infinity"、負の無限大は "-Infinity" となる
"0.0" という文字列で表す。つまり、負のゼロは "-0.0"、正のゼロは "0.0" となる
.' ('\u002E')、m の小数部を表す 1 桁以上の 10 進数がこの順で並んだ形で表現される
Integer.toString(int) から返されたとおり、a の整数部である 1 桁の 10 進数、'.' ('\u002E')、a の小数部を表す 10 進数、文字 'E' ('\u0045')、n を表す 10 進整数がこの順で並んだ形で表現される
double 型の隣接する値から引数を一意に識別するのに最低限必要な桁数にしてください。たとえば、ゼロでない有限の引数を指定してこのメソッドで作成した 10 進値表記を x とします。この場合、d は x の double 型の最近似値でなければなりません。つまり、2 つの double 値が均等に x に近似している場合であれば、d は 2 つの値のどちらかでなければならず、有効な最下位ビットは 0 でなければなりません。
浮動小数点値の地域に対応した文字列表現を作成する場合、NumberFormat のサブクラスを使用します。
d - 変換対象の double
public static Double valueOf(String s)
throws NumberFormatException
s で表される double 値を保持する Double オブジェクトを返します。
s が null の場合は、NullPointerException がスローされます。
s 内の先頭と末尾の空白文字は無視されます。s の残りの文字が、次の字句構文規則に従って FloatValue を構成します。
ここで、Sign と FloatingPointLiteral は Java 言語仕様の §3.10.2 の定義に従います。FloatValue の形式でない場合、
- FloatValue:
- Signopt
NaN- Signopt
Infinity- Signopt FloatingPointLiteral
NumberFormatException がスローされます。そうでない場合、s は通常の浮動小数点表記で正確な 10 進値を表していると見なされます。この正確な 10 進値は、概念上は無限に正確なバイナリ値に変換されてから、IEEE 754 浮動小数点計算法による通常の最近似値丸め法 (ゼロ値の符号保持を含む) に従って double 型に丸められます。最後に、double 値を表す Double オブジェクトが返されます。
浮動小数点値の地域に対応した文字列表現を解釈する場合、NumberFormat のサブクラスを使用します。
s - 構文解析される文字列
String 引数により表される値を保持する Double オブジェクト
NumberFormatException - 文字列が構文解析可能な数値を含まない場合
public static double parseDouble(String s)
throws NumberFormatException
Double クラスの valueOf メソッドを実行した場合と同様に、指定された String が表す値に初期化された新しい double 値を返します。
s - 構文解析される文字列
double 値
NumberFormatException - 文字列が構文解析可能な double 値を含まない場合valueOf(String)public static boolean isNaN(double v)
true を、そうでない場合は false を返します。
v - 判定される値
true、そうでない場合は falsepublic static boolean isInfinite(double v)
true を、そうでない場合には false を返します。
v - 判定される値
true、そうでない場合は falsepublic boolean isNaN()
Double 値が非数 (NaN) である場合には true を、そうでない場合は false を返します。
true、そうでない場合は falsepublic boolean isInfinite()
Double 値の絶対値が無限量である場合には true を、そうでない場合には false を返します。
true、そうでない場合は falsepublic String toString()
Double オブジェクトの文字列表現を返します。このオブジェクトが表すプリミティブ double 値は、1 つの引数をとる toString メソッドを実行した場合と同じ文字列に変換されます。
Object 内の toStringString 表現toString(double)public byte byteValue()
Double の値を (byte にキャストすることにより) byte として返します。
Number 内の byteValuebyte 型に変換されたこのオブジェクトが表す double 値public short shortValue()
Double の値を (short にキャストすることにより) short として返します。
Number 内の shortValueshort 型に変換されたこのオブジェクトが表す double 値public int intValue()
Double の値を (int 型にキャストすることにより) int として返します。
Number 内の intValueint 型に変換されたこのオブジェクトが表す double 値public long longValue()
Double の値を (long 型にキャストすることにより) long として返します。
Number 内の longValuelong 型に変換されたこのオブジェクトが表す double 値public float floatValue()
Double オブジェクトの float 値を返します。
Number 内の floatValuefloat 型に変換されたこのオブジェクトが表す double 値public double doubleValue()
Double オブジェクトの double 値を返します。
Number 内の doubleValuedouble 値public int hashCode()
Double オブジェクトのハッシュコードを返します。計算された結果は、doubleToLongBits(double) メソッドの結果とまったく同じように、この Double オブジェクトが表すプリミティブ double 値の long 整数をビット表現した上位 32 ビットと下位 32 ビットの排他的論理和になります。つまり、ハッシュコードは次の式の値です。
ただし、(int)(v^(v>>>32))
v は次の式によって定義されます。
long v = Double.doubleToLongBits(this.doubleValue());
Object 内の hashCodeObject.equals(java.lang.Object),
Hashtablepublic boolean equals(Object obj)
true になるのは、引数が null でなく、このオブジェクトが表す double 値と同じ値を保持する double を表す Double オブジェクトである場合だけです。このため、2 つの double 値が等しいと見なされるのは、doubleToLongBits(double) メソッドを各値に適用したときに同一の long 値が返される場合だけです。
ほとんどの場合、Double クラスの d1 および d2 という 2 つのインスタンスについて、d1.equals(d2) の値が true になるのは、次の式の値が true になる場合だけです。
d1.doubleValue() == d2.doubleValue()
しかし、例外事項も 2 つあります。
d1 と d2 の両方が Double.NaN を表し、Double.NaN==Double.NaN の値が false であるにもかかわらず、equals メソッドが true を返す場合
d1 が +0.0 を表し、d2 が -0.0 を表すか、あるいは d1 が -0.0 を表し、d2 が +0.0 を表す場合で、+0.0==-0.0 の値が true であるにもかかわらず、equal テストの値が false の場合
Object 内の equalsobj - 比較対象のオブジェクト
true、そうでない場合は falsedoubleToLongBits(double)public static long doubleToLongBits(double value)
ビット 63 (マスク 0x8000000000000000L によって選択されるビット) は、浮動小数点の符号を表します。ビット 62-52 (マスク 0x7ff0000000000000L によって選択されるビット) は、指数を表します。ビット 51-0 (マスク 0x000fffffffffffffL によって選択されるビット) は、浮動小数点の有効値 (仮数と呼ばれる場合もある) を表します。
引数が正の無限大値の場合は、0x7ff0000000000000L が返されます。
引数が負の無限大値の場合は、0xfff0000000000000L が返されます。
引数が NaN の場合は、0x7ff8000000000000L が返されます。
どの場合も、返される値は long 整数であり、longBitsToDouble(long) メソッドを指定すると、doubleToLongBits への引数と同じ浮動小数点値になります (すべての NaN 値が単一の「正規」NaN 値に収納されることを除く)。
value - double 精度の浮動小数点値
public static long doubleToRawLongBits(double value)
ビット 63 (マスク 0x8000000000000000L によって選択されるビット) は、浮動小数点の符号を表します。ビット 62-52 (マスク 0x7ff0000000000000L によって選択されるビット) は、指数を表します。ビット 51-0 (マスク 0x000fffffffffffffL によって選択されるビット) は、浮動小数点の有効値 (仮数と呼ばれる場合もある) を表します。
引数が正の無限大値の場合は、0x7ff0000000000000L が返されます。
引数が負の無限大値の場合は、0xfff0000000000000L が返されます。
引数が NaN の場合、返される値は実際の NaN 値を示す long 整数です。doubleToLongBits メソッドとは異なり、doubleToRawLongBits メソッドが、すべてのビットパターン符号化 NaN を単一の正規 NaN 値に収納することはありません。
どの場合も、返される値は long 整数であり、longBitsToDouble(long) メソッドを指定すると、doubleToRawLongBits への引数と同じ浮動小数点値になります。
value - double 精度の浮動小数点値
public static double longBitsToDouble(long bits)
double 値を返します。引数は、IEEE 754 浮動小数点「倍精度」ビット配列に従った浮動小数点表現と見なされます。
引数が 0x7ff0000000000000L の場合は、正の無限大値が返されます。
引数が 0xfff0000000000000L の場合は、負の無限大値が返されます。
引数が 0x7ff0000000000001L 〜 0x7fffffffffffffffL、または 0xfff0000000000001L 〜 0xffffffffffffffffL の範囲内の値である場合、結果は NaN になります。Java の提供する IEEE 754 浮動小数点演算は、型が同じでビットパターンの異なる 2 つの NaN 値を区別できません。NaN の個別の値は、Double.doubleToRawLongBits を使用する場合にだけ識別可能です。
そのほかの場合では、s、e、および m の 3 つの値について次の引数から計算できるとします。
int s = ((bits >> 63) == 0) ? 1 : -1;
int e = (int)((bits >> 52) & 0x7ffL);
long m = (e == 0) ?
(bits & 0xfffffffffffffL) << 1 :
(bits & 0xfffffffffffffL) | 0x10000000000000L;
この場合、浮動小数点値の結果は、数式 s·m·2e-1075 の値と等しくなります。
bits - long 整数
double 浮動小数点値public int compareTo(Double anotherDouble)
Double オブジェクトを数値的に比較します。このメソッドによる比較は、Java 言語の数値比較演算子 (<, <=, ==, >= >) をプリミティブ double 値に適用した場合とは、次の 2 点で異なります。
Double.NaN は、それ自体と等しく、ほかのすべての double 値 (Double.POSITIVE_INFINITY を含む) より大きいと見なされる
0.0d は、-0.0d よりも大きいと見なされる
Double.compareTo(Object) は Comparable.compareTo の一般的な規約に従い、Doubles に対する自然順序付けが「equals との一貫性を保持」します。
anotherDouble - 比較対象の Double
anotherDouble がこの Double と同じ数値の場合は値 0。Double が anotherDouble より小さい数値の場合は 0 より小さい値。Double が anotherDouble より大きい数値の場合は 0 より大きい値Comparable.compareTo(Object)public int compareTo(Object o)
Double オブジェクトをほかのオブジェクトと比較します。オブジェクトが Double の場合、この関数の動作は compareTo(Double) と同じになります。そうでない場合は、ClassCastException がスローされます。これは、Double オブジェクトの比較は Double オブジェクト同士でしか行えないためです。@param o 比較対象の Object
Comparable 内の compareToo - 比較対象の Object
Double と等しい数値の場合は値 0。引数がこの Double より大きい数値の Double の場合は 0 より小さい値。引数がこの Double より小さい数値の Double の場合は 0 より大きい値
ClassCastException - 引数が Double ではない場合Comparable
public static int compare(double d1,
double d2)
double 値を比較します。返される整数値の符号は、次の呼び出しで返される整数の符号と同じになります。
new Double(d1).compareTo(new Double(d2))
d1 - 比較する最初の Objectd2 - 比較する 2 番目の Object
d1 の値が d2 と等しい場合は値 0、d1 の値が d2 より小さい場合は 0 より小さい値、d1 の値が d2 より大きい場合は 0 より大きい値
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.