从静态代码分析工具的检测规则学习代码优化技巧

发表于:2011-5-06 09:34

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:孤独键盘手    来源:51Testing软件测试网采编

  7. 同时需要覆写 hashCode和equals方法

  说明:这个也是大家偶尔会忽视的一个问题。hashCode和equlas方法最主要的用途是在基本Hash算法的集合类中,如HashMap,等。

  在HashMap实现中,其对一个对方是否相等的判断逻辑如下:

  也就是说在HashMap中如果两个对象相等必须是hashCode相等并且equals方法也返回相等。

  那如果在一个对象中,只复写了equals,而未复写hashCode方法,就会造成”重复”的对象在HashSet中也会发生。

  下面是一个有问题的示例代码:

  8. BigDecimal对象初始化时,针对浮点数据值使用String参数(针对精度问题)

  说明:例如 new BigDecimal(0.1) 值真正的值可能是 .1000000000000000055511151231257827021181583404541015625

  Good Luck!

  Yours Matthew!

22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号