fl军哥

导航

 

    首先是关于枚举的问题,枚举不属于原始数据类型,它的每个具体值都引用一个特定的对象。相同的值则引用同一个对象。 可以使用“==”和equals()方法直接比对枚举变量的值,换句话说,对于枚举类型的变量,“==”和equals()方法执行的结果是等价的。

     java 中double类型运算结果不精确出现这样的运算异常是因为Java中的简单浮点数类型float和double不能够直接进行运算。因为虽然大多数情况下是正常的,但是偶尔会出现如上所示的问题。这个问题其实不是Java的bug,而是由于计算机本身是二进制完成的,而浮点数实际上只是个近似值,所以从二进制与十进制浮点数的转化容易发生精度容易丢失,导致精度下降。解决方法是Java.math包中提供的BigDecimal类可以解决这个问题。但是不能直接将double型数直接包装在BigDecimal对象当中,而是要求必须先将double数字通过它的包装类(Double)重载的toString(double d)转化为String类型之后的结果才能传入BigDecimal构造器,进而创建对象调用方法进行运算,最终的输出结果再以double类型返回 。

posted on 2018-10-08 11:04  信1705-2张小军  阅读(79)  评论(0编辑  收藏  举报