effective java
eightyfive
这个作者很懒,什么都没留下…
展开
-
第48条:如果需要精确的答案,请避免使用float和double
float和double类型不适合用于货币计算。 原因:float或者double不可能精确表示0.1或者10的任何其它负数次方值。 float 和double类型主要是为了科学计算和工程计算而涉及的。它们执行二进制浮点运算,这是为了在广泛的数值范围上提供较为精确的快速近似计算而精心涉及的。它们没有提供完全精确的结果,所以不应该用于需要精确计算的场合。 解决方法: 用于精确计算的类型 BigDecimal 、int或者long进行货币计算 ...原创 2021-05-08 20:15:07 · 90 阅读 · 0 评论 -
第2条:遇到多个构造器参数时要考虑用构建器
静态工厂和构造器有个共同的局限性:它们都不能很好地扩展到大量的可选参数。 实际开发中,一个类有多个属性,其中有几个属性是必需的,其它是可选属性;可以采用重叠构造器模式。在这种模式下,提供第一个只有必要参数的构造器,第二个构造器有一个可选参数,第三个有两个可选参数,依此类推,最后一个构造器包含所有可选参数。具体实例如下: ...原创 2021-05-07 15:57:52 · 63 阅读 · 0 评论