Метод оператора ==
- Object other
Оператор равенства.
По умолчанию для всех объектов Object возвращает true только в том случае, если этот объект и other являются одним и тем же объектом.
Переопределите этот метод, чтобы указать другое отношение равенства в классе. Переопределяемый метод должен по-прежнему быть отношением эквивалентности. То есть, он должен:
-
Быть полным: Он должен возвращать булево значение для всех аргументов. Он никогда не должен выбрасывать исключение.
-
Рефлексивным: Для всех объектов
o,o == oдолжно быть true. -
Симметричным: Для всех объектов
o1иo2,o1 == o2иo2 == o1должны быть либо оба true, либо оба false. -
Транзитивным: Для всех объектов
o1,o2, иo3, еслиo1 == o2иo2 == o3являются true, тоo1 == o3должно быть true.
Метод также должен быть согласованным во времени, поэтому равенство двух объектов должно изменяться только в том случае, если хотя бы один из объектов был изменен.
Если подкласс переопределяет оператор равенства, он также должен переопределить метод 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.18.5/dart-core/Object/operator_equals.html