operator == 抽象方法
- Object other
override
检查其他对象是否与当前记录具有相同的形状并且字段相等。
记录只有在具有相同 形状 的情况下才等于另一个记录,并且只有当每个字段的值都相等时,根据其 ==
,才等于其他记录的相应字段值。
字段值相等的检查顺序没有保证,并且在找到不相等的对应字段后,是否检查更多字段也是未指定的。甚至不能保证在单个程序执行中顺序的一致性。
通常,请非常小心处理违反相等合约的对象,例如 double.nan,它不等于自身。例如
var pair = ("a", double.nan);
if (pair != pair) print("Oops");
将打印 "Oops",因为 pair == pair
被定义为等于 "a" == "a" & double.nan == double.nan
,这是错误的。
实现
bool operator ==(Object other);