# 8、理解“对象等同性”这一概念

&#x20;可以看这篇：[iOS\_理解“对象等同性”这一概念（==、isEqual、hash）](https://blog.csdn.net/Margaret_MO/article/details/109401504)

要点：

* 若想检测对象的等同性，请提供`isEqual:`与`hash`方法
* 相同的对象必须具有相同的哈希码，但是两个哈希码相同的对象却未必相同
* 不要盲目地逐个检测每条属性，而应该依照具体需求来制定检测方案
* 编写`` `hash ``方法时，应该使用计算速度快而且哈希码碰撞几率低的算法
