第四十五条:将局部变量的作用域最小化
- 要使局部变量的作用于最小化,最有力的方法就是在第一次使用它的地方声明。
- 几乎每个局部变量的声明都应该包含一个初始化表达。
- 使方法小而集中。
第四十六条:for-each循环优先于传统的for循环
第四十七条:了解和使用标准类库
- 每个程序员都应该熟悉java.lang、java.util、java.io中的内容,关于其他类库的知识可以根据需要随时学习。
- 在每个重要的发行版本中,都会有新的特性被加入类库中,同时Sun公司都会发布一个网页,说明新的特性,这些网页值得好好读一读。
3.不要重新发明轮子。
第四十八条:如果需要精确的答案,请避免使用float和double
- float和double类型尤其不适合用于货币计算
- 可以使用bigDecimal、int或者long进行货币计算(BigDecimal不方便而且慢,如果数值范围没有超过9位十进制数字,就可以使用int;如果不超过18位数字,就可以使用long;如果可能超过18位,就必须使用BigDecimal)
第四十九条:基本类型优先于装箱基本类型
第五十条:如果其他类型更适合,则尽量避免使用字符串
- 字符串不适合代替其他的值类型
- 字符串不适合代替枚举类型。
- 字符串不适合代替其他的值类型
- 字符串也不适合代替能力表
第五十一条:当心字符串连接的性能
- 为连接n个字符串而重复地使用字符串连接操作符,需要n的平方级的时间。
- +拼接不适合大规模的场景中。
第五十二条:通过接口引用对象
第五十三条:接口优先于反射机制
- 使用反射机制来实例化对象,而访问对象时则使用编译时已知的某个接口或者超类。
第五十四条:谨慎地使用本地方法
第五十五条:谨慎地进行优化
- 要努力编写好的程序而不是快的程序。
- 努力避免那些限制性能的设计决策。