摘要: 八、覆盖equals时请遵守通用约定: 对于Object类中提供的equals方法在必要的时候是必要重载的,然而如果违背了一些通用的重载准则,将会给程序带来一些潜在的运行时错误。如果自定义的class没有重载该方法,那么该类实例之间的相等性的比较将是基于两个对象是否指向同一地址来判定的。因此对于以下几种情况可以考虑不重载该方法: 1. 类的每一个实例本质上都是唯一的。 不同于值对象,需要根据其内容作出一定的判定,然而该类型的类,其实例的自身便具备了一定的唯一性,如Thread、Timer等,他本身并不具备更多逻辑比较的必要性。 2. 不关心类是否提供了“逻辑相等”的测试功能。 ... 阅读全文
posted @ 2012-01-16 00:07 OrangeAdmin 阅读(3272) 评论(0) 推荐(2) 编辑