Double 獲取表示形式 對於獲取表示形式 提供了兩種形式的方法,主要是針對於非數字的NaN的不一樣表示 他們能夠與longBitsToDouble 能夠進行互相轉換
|
||||
longBitsToDouble(long) 返回對應於給定位表示形式的 double 值
若是參數是 0x7ff0000000000000L,則結果爲正無窮大
若是參數是 0xfff0000000000000L,則結果爲負無窮大
若是參數值在 0x7ff0000000000001L 到 0x7fffffffffffffffL 之間或者在 0xfff0000000000001L 到 0xffffffffffffffffL 之間,則結果爲 NaN
|
static int compare(double d1, double d2) | 靜態方法 比較兩個double d1 < d2 小於0 d1 = d2 等於0 d1 > d2 大於0 |
int compareTo(Double anotherDouble) | 實例方法 兩個對象進行大小比較,依賴於靜態方法 |
返回一個字符串形式表示的基本類型double 表現效果同valueOf(String),不過valueOf 返回的是對象 |
若是不包含能夠解析的字符串將會拋出異常 |
底層依賴sun.misc.FloatingDecimal |
static Double valueOf(double d) | |
static Double valueOf(String s) | 依賴parseDouble方法 因此上面說跟valueOf(String)表現效果相同,自己就是同樣 |
相似以前介紹的其餘數值類型 所有都是強轉內部的 value return (XXX)value; |
byteValue()
shortValue()
intValue()
longValue()
floatValue()
doubleValue()
|
boolean equals(Object obj) |
將此對象與指定對象比較
當且僅當參數不是 null 而是 Double 對象,且表示的 Double 值與此對象表示的 double 值相同時,結果爲 true
爲此,當且僅當將方法 doubleToLongBits(double) 應用於兩個值所返回的 long 值相同時,才認爲這兩個 double 值相同
注意,在大多數狀況下,對於 Double 類的兩個實例 d1 和 d2,當且僅當
d1.doubleValue() == d2.doubleValue()
爲 true 時,d1.equals(d2) 的值才爲 true
可是,有如下兩種例外狀況:
若是 d1 和 d2 都表示 Double.NaN,那麼即便 Double.NaN==Double.NaN 值爲 false,equals 方法也將返回 true
若是 d1 表示 +0.0 而 d2 表示 -0.0,或者相反,那麼即便 +0.0==-0.0 值爲 true,equals 測試也將返回 false
此定義使得哈希表得以正確操做
|