Метод operator ==
- Object other
Проверка, является ли это значение численно равным other.
Если оба операнда являются double значениями, они равны, если имеют одинаковое представление, за исключением:
- ноль и минус ноль (0.0 и -0.0) считаются равными. Оба имеют численное значение ноль.
- NaN не равен ничему, включая NaN. Если любой операнд равен NaN, результат всегда ложь.
Если один операнд является double, а другой — int, они равны, если у double есть целочисленное значение (конечное без дробной части) и числа имеют одинаковое численное значение.
Если оба операнда являются целыми числами, они равны, если имеют одинаковое значение.
Возвращает false, если other не является num.
Обратите внимание, что поведение для NaN не рефлексивно. Это означает, что равенство значений double не является правильным отношением равенства, как это требуется для operator==. Использование NaN, например, в HashSet, не будет работать. Поведение соответствует стандартному равенству IEEE-754 для double.
Если вы можете избежать значений NaN, остальные double имеют правильное отношение равенства и могут использоваться безопасно.
Используйте compareTo для сравнения, которое различает ноль и минус ноль и рассматривает значения NaN как равные.
Реализация
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/num/operator_equals.html