java里double类和double的区分 是否在于一个是大写一个是小写?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java里double类和double的区分 是否在于一个是大写一个是小写?相关的知识,希望对你有一定的参考价值。
不是就大小写的区别问题。Double 是类 double是基础数据类型。Double类型是double的包装类.
Double 和double之间的相互转化称为自动拆箱和自动装箱。
如果从对象角度理解,那么Double就是对象,double就是数值。
Double对象.doubleValue()才是Double对象的数值。追问
哈哈虽然是三年前的问题,不过还是多谢认真回答啦~ XD
参考技术A java为每个基本类型提供封装类Double是基本类型double的封装类,区别在于Double的默认值为null,而double的默认值为0.0d追问那么Double和double数据的比较 有何不同?
什么时候用.equals 什么时候用==?
Double类型比较时可用equal和==,而double比较只能用==
参考技术B Double是一个类,double是一个基本数据类型。类的比较用equals
基本数据类型的比较用== 参考技术C Double 是类 double是基础数据类型。
Double 有一些方法可以调用追问
那么Double和double数据的比较 有何不同?
什么时候用.equals 什么时候用==?
.equals 是属于类有的方法
如果你想比较的是数值的大小,那就用== 不过Double得先转成double
至于怎么转可以看看Double里的方法 要不强转也是行的
Java中Double的比较?
在JAVA中怎么比较Double类型数据的大小?貌似有精度要求。怎么实现呢?
Double没有的,double有 Double是对象,看两个对象是否值相同,调用 equals方法这也是解决double精度比较的方法。另外还有一种方法,你可以用写一个 double成员属性,然后在eclipse中重写equals方法,你会看到他是怎么处理两个double值是否相同的 sun公司用的是Double.doubleToLongBits(要比较的double值) != Double.doubleToLongBits(另一个double值) 这种方式 参考技术A double a = 0.001;
double b = 0.0011;
BigDecimal data1 = new BigDecimal(a);
BigDecimal data2 = new BigDecimal(b);
data1.compareTo(data2)
非整型数,运算由于精度问题,可能会有误差,建议使用BigDecimal类型! 参考技术B 如果只有double,是可以直接比较的
以上是关于java里double类和double的区分 是否在于一个是大写一个是小写?的主要内容,如果未能解决你的问题,请参考以下文章
JAVA里INT除以INT类型得的结果为FLOAT或者DOUBLE怎样做?