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
此定义使得哈希表得以正确操做
|