• EffectiveJava-2


    一、使用类库

      使用类库的好处:

    1. 无须关心方法是如何实现的,由算法专家花了大量时间设计、实现和测试这个方法,不仅保证了正确性,而且一旦有缺陷,下一个版本就会修复。
    2. 不必浪费时间为哪些与工作不太相关的问题提供特别的解决方案,应该吧时间花在应用程序上,而不是底层的细节上。
    3. 它们的性能往往会随着时间的推移而不断提高,无须你做任何努力。
    4. 它们会随着时间的推移而增加新的功能。
    5. 使用类库可以让自己的代码融入主流,是代码更易读,更易维护、更易被大多数开发人员重用。

      如果有时间,每个重要的发行版本,都要去看看增加和修改了哪些特性。

    二、如果想要正确的答案,请避免使用float和double

    1. float和double类型不适合用于货币计算,如:
      System.out.println(1.03-0.42);

      此行代码会输出:0.6100000000000001

    2. 如果想要精确计算,请使用BigDecimal、int或者long进行计算。

      总结:

    1. 对于任何需要精确答案的计算任务,请不要使用float或者double。
    2. 使用BigDecimal,系统会处理十进制小数点,可以完全控制舍入,可以从八种舍入模式中选择其一,若数值超过18位,就必须使用BigDecimal。但可能会带来因为不使用基本类型产生的不便。
    3. int需要自己处理十进制小数点,所涉及的数值不可太大,若数值范围没有超过9位十进制数字,就可以使用int。
    4. long也需要自己处理十进制小数点,若数值范围没有超过18位十进制数字,就可以使用long。

    参考:《Effective java》P224~P229   

  • 相关阅读:
    SpringIoC和DI注解开发
    SpringIoC&DI
    Linux基础(二)
    Linux基础(一)
    代码自动生成
    luaScript目标点限流工具类示例
    SpringMVC请求连接匹配器-工具类
    解决commons.mail.HtmlEmail附件中文名乱码问题
    HtmlToPdfUtils [请参照码云上 https://gitee.com/bbevis/html-to-pdf 最新版]
    ThreadLocalUtils
  • 原文地址:https://www.cnblogs.com/MrZhaoyx/p/11688970.html
Copyright © 2020-2023  润新知