相等性(Equality)
缩写:无
简述
判断两值是否相同的规则,常分引用相等与结构/值相等。集合、缓存键与测试断言依赖相等定义;自定义类型须保持相等与哈希契约一致。
使用场景
测试、去重、缓存键、领域比较。
实践与应用
• 实体比标识,值对象比内容
• 浮点用容差
• 重写相等时同步哈希契约
注意事项
• 不同相等算子混用
• 可变对象作键后被修改
对比与易混
| 引用相等 | 值/结构相等 | |
|---|---|---|
| 问的是 | 是否同一对象 | 内容是否等价 |
| 常见用途 | 身份、缓存键慎用可变 | 测试、集合去重 |
关联术语
• 值:比较的对象
• 引用:引用相等与值相等的分界
• 哈希:与相等契约绑定的结构
• 值对象:以属性相等定义身份的对象