effect java 学习摘要(7)

来源:互联网 发布:森女部落淘宝官网 编辑:程序博客网 时间:2024/05/17 01:09

将局部变量的作用域最小化

  • 在第一次声明的地方, 使局部变量的作用域最小化

集合的遍历for-each优先于传统for循环

  • foreach 优势 :

    • 代码简洁性
    • 预防bug
  • for 循环使用场景 :

    1. 过滤元素
    2. 转换元素
    3. 平行迭代

了解和使用类库

  • Random类库去随机数的调用, 以及java标准类库

精确答案, 避免使用float和double

  • 货币的计算 :
    • 正确的使用 : BigDecimal, in , long
    • 错误的使用 : double 和 float

基本类型优先于装箱基本类型

  • 基本类型 : 例如 : int , double ,boolean
  • 装箱基本类型 : 例如 : Integer, Double , Boolean
  • 区别 : 基本类型 比 装箱基本类型 更 节省时间和空间

  • 装箱基本类型 不能使用 == 比较

  • 装箱基本类型 应用场景 :

    • 作为集合中的元素 \ 键 \ 值

其他类型更适合, 避免使用字符串

  • 不适合替代基本类型
  • 不适合替代枚举类型
  • 不适合替代聚集类型
  • 不适合代表能力表

字符串的拼接性能

  • 使用StringBuilder替代String

通过接口引用对象

  • 例如变量声明 :

    List<String> list = new Vector();

接口优先于反射

  • 反射的缺点 :
    • 缺乏编译时的类型检查
    • 反射代码冗长
    • 性能损失

异常

  • 常见异常 : 受检的异常 , 运行时异常 , 错误

  • 自定义异常应该重写RuntimeException

  • 异常的捕获应当具有原子性