今天使用了代码检测工具跑了一遍工程代码,报了几个预料之外的问题,有两个看到就知道问题所在的但是平时一不注意就忽视了,mark一下
1.String.getBytes()
报了一个编码问题,因为String.getBytes()默认采用的是系统的编码方式,凡是default的都需要注意,因为在不同平台上的编码格式不同,可能导致在不同平台上出现不同的结果。
JAVA中默认的unicode或者数据库中默认的ISO-8859-1 就可能出现乱码。
2.float double类型数据比较
代码中出了一句不谨慎的Code:
(int * int) == double
想当然的错误,因为float和double精度问题,不能使用==或者!=进行比较。
一般使用场景下可使用
Math.abs(float-float)<1e-8
勿以虫小而纵之,切记~