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   

posted @ 2019-10-17 20:39  MrZhaoyx  阅读(155)  评论(0编辑  收藏  举报