метод operator ==
- Object other
Оператор равенства.
Поведение по умолчанию для всех объектов Object: возвращать true тогда и только тогда, когда этот объект и other являются одним и тем же объектом.
Переопределите этот метод, чтобы задать для класса другое отношение равенства. Переопределённый метод по-прежнему должен задавать отношение эквивалентности. То есть он должен быть:
-
Полным: он должен возвращать логическое значение для любых аргументов. Он никогда не должен генерировать исключение.
-
Рефлексивным: для всех объектов
oдолжно быть истиннымo == o. -
Симметричным: для всех объектов
o1иo2выраженияo1 == o2иo2 == o1должны быть либо оба истинными, либо оба ложными. -
Транзитивным: для всех объектов
o1,o2иo3, еслиo1 == o2иo2 == o3истинны, тоo1 == o3должно быть истинным.
Метод также должен быть непротиворечивым с течением времени: равенство двух объектов должно изменяться только в том случае, если был изменён хотя бы один из этих объектов.
Если подкласс переопределяет оператор равенства, ему также следует переопределить метод hashCode, чтобы сохранить непротиворечивость.
Реализация
external bool operator ==(Object other);
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-core/Object/operator_equals.html