operator == 抽象方法

bool operator ==(
  1. 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);