operator == 方法
- Object other
override
等于运算符。
所有 Object 的默认行为是如果且仅当此对象与 other
是相同对象时,返回 true。
覆盖此方法以指定类上的不同等价关系。覆盖方法仍然是等价关系。也就是说,它必须
-
总体上:它必须为所有参数返回布尔值。它不应该抛出异常。
-
自反性:对于所有对象
o
,o == o
必须为 true。 -
对称性:对于所有对象
o1
和o2
,o1 == o2
和o2 == o1
必须要么都是 true,要么都是 false。 -
传递性:对于所有对象
o1
、o2
和o3
,如果o1 == o2
和o2 == o3
为 true,则o1 == o3
必须为 true。
该方法还应随时间保持一致,即两个对象是否相等只有在至少一个对象被修改时才会改变。
如果子类覆盖了等价运算符,它还应覆盖 hashCode 方法,以保持一致性。
实现
bool operator ==(other) =>
other is Rectangle &&
left == other.left &&
top == other.top &&
right == other.right &&
bottom == other.bottom;