bool operator ==(other)

相等操作符。

默认情况下,所有的Object返回true,当且仅当thisother是同一对象的时候。

通过重写该函数来指定类的不同的相等关系。重写的方法必须保持一个相等的关系。 也就是说,它必须:

  • 总体:对于所有参数,它必须返回一个布尔值。它不应throw或return null

  • 自反性:对于所有对象oo == o必须为true。

  • 对称性:对于所有对象o1o2o1 == o2o2 == o1必须都为true,或都为false。

  • 传递性: 对于所有对象o1o2o3,如果o1 == o2o2 == o3是true,那么o1 == o3必须是true。

随时间推移,该方法也必须是一致的。 如果两个对象相等,结果不应该随时间而变化。 或至少其中一个对象被修改才会改变。

如果子类重写相等操作符,它也应该重写hashCode方法,以保持一致。

Source

bool operator ==(other) => identical(this, other);