将局部变量的作用域最小化
- 在第一次声明的地方, 使局部变量的作用域最小化
集合的遍历for-each优先于传统for循环
foreach 优势 :
- 代码简洁性
- 预防bug
for 循环使用场景 :
- 过滤元素
- 转换元素
- 平行迭代
了解和使用类库
- Random类库去随机数的调用, 以及java标准类库
精确答案, 避免使用float和double
- 货币的计算 :
- 正确的使用 : BigDecimal, in , long
- 错误的使用 : double 和 float
基本类型优先于装箱基本类型
- 基本类型 : 例如 : int , double ,boolean
- 装箱基本类型 : 例如 : Integer, Double , Boolean
区别 : 基本类型 比 装箱基本类型 更 节省时间和空间
装箱基本类型 不能使用 == 比较
装箱基本类型 应用场景 :
- 作为集合中的元素 \ 键 \ 值
其他类型更适合, 避免使用字符串
- 不适合替代基本类型
- 不适合替代枚举类型
- 不适合替代聚集类型
- 不适合代表能力表
字符串的拼接性能
- 使用StringBuilder替代String
通过接口引用对象
例如变量声明 :
List<String> list = new Vector();
接口优先于反射
- 反射的缺点 :
- 缺乏编译时的类型检查
- 反射代码冗长
- 性能损失
异常
常见异常 : 受检的异常 , 运行时异常 , 错误
自定义异常应该重写RuntimeException
异常的捕获应当具有原子性