《effective java》之七:方法

阅读更多

第45条:将局部变量的作用域最小化:

几乎每个局部变量声明都应该包含一个初始化表达式。这个有个例外,就是try catch,在try的外部定义,然后在try里面初始化。

 

第46条:for-each循环优先于传统的for循环:

 

第47条:了解和使用类库:

 

第48条:如果需要精确的答案,请避免使用fload和double:

float和double执行二进制浮点运算 binary floating-point arithmetic,这是为了在广泛数值范围上提供较为精确的快速近视计算而精心设计的。float和double尤其不适合于用于货币计算,要让一个float或者double精确表示0.1或者10的任何负数次方是不可能的。

对于货币计算,要使用BigDecimal、int或者long类型进行计算。

BigDecimal会有性能损失,但是精度无限制。超过9位数字用long,超过18位必须用BigDecimal了。

 

第49条:基本类型优先于装箱基本类型:

 什么时候该使用装箱基本类型呢?

①,作为集合中的元素、建、值

②,参数化类型,必须使用装箱类型

③,反射方法调用,必须使用装箱类型

 

第50条:如果其他类型更合适,则尽量避免使用字符串:

* 字符串不适合代替其他的值类型

* 字符串不适合代替枚举类型

* 字符串不适合代替聚集类型,少跟我用# _等分割再去split后获得一个实体,直接定义一个静态成员类类就可以了啊。

* 字符串也不适合代替能力表capabilities

 

第51条:当心字符串连接的性能:

字符串连接的时候使用StringBuilder,并且最好预先提供最大长度。

 

第52条:通过接口引用对象:

 

第53条:接口优先于反射机制:

通常,普通应用程序在运行时不应该以反射方式访问对象。

 

第54条:谨慎的使用本地方法:

 

第55条:谨慎的进行优化:

要努力的编写好的程序而不是快的程序。

 

第56条:遵守普遍接受的命名惯例:

 

本人博客已搬家,新地址为:http://yidao620c.github.io/

 

你可能感兴趣的:(effective)