operator == 抽象方法
- Object other
override
检查 other
是否具有与当前记录相同的形状以及相等的字段。
只有当记录具有相同的 形状,并且每个字段的值都相等,根据其 ==
运算符,与 other
对应字段的值相等时,记录才等于另一个记录。
字段值相等的检查顺序没有保证,并且在找到不等的对应字段后是否还会继续检查进一步字段也不确定。甚至不能保证在一个程序执行过程中顺序的一致性。
如往常一样,对可能违反等价合约的对象应非常小心,如 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);