容易出错(常见)Java开发问题汇总

分享一下最近整理的错误汇总:
exception
1)异常要处理或抛出,不允许被吃掉(吃掉后会很难定位问题);
2)不允许存在get("pos_instock").equals(null) 的奇怪的代码;
limit
3)start limit 参数拼装时带条件(忘传参数,会导致查询出所有的数据,系统出现内存溢出);
4)生产代码分支存在TODO注释(TODO注释表示未完成,未完成的代码不允许上生产);
5)Integer和Integer比较要用equal,不允许使用 == (==是使用内存地址比较,相同值的Integer对象,比较结果也会不一样);
6)减少使用toString换为“” +(如果toString对象为null,会出现空指针异常。换成 “” + 对象 则不会);
7)在Spring 管理的bean减少使用Context.getAppliction().getBean("")。(此种方式会导致类型检查延迟到运行时);
8)合代码遇到冲突时要解决,不是简单的覆盖(新员工要尤其注意);
9)Date对象转换字符串时,需要使用项目中提供的Util类(减少代码冗余,提高可读性);
10)尽量不要使用过时的类、方法(过时的方法会存在各种风险);
11)小数计算(加、减、乘、除)要使用BigDecimal的函数(add、subtract、multiply、divide)(浮点数运算直接加、减、乘、除会存在精度问题)
12)数字对象在和BigDecimal转换时,需要使用BigDecimal.val(val)方法,不允许使用new BigDecimal(val)(new BigDecima转换会存在精度问题)
13)SQL中不要出现count(*)