Spec-Zone.ru › Dart 1

dart:core

абстрактный метод оператор ==

bool operator ==(Object other)

Проверка, является ли это значение численно равным other.

Если оба операнда являются числами с плавающей точкой двойной точности, они равны, если имеют одинаковое представление, за исключением:

  • ноль и минус ноль (0.0 и -0.0) считаются равными. Оба имеют численное значение ноль.
  • NaN не равно ничему, включая NaN. Если любой операнд равен NaN, результат всегда ложь.

Если один операнд является числом с плавающей точкой двойной точности, а другой — целым числом, они равны, если число с плавающей точкой имеет целое значение (конечное без дробной части) и identical(doubleValue.toInt(), intValue) равно true.

Если оба операнда являются целыми числами, они равны, если имеют одинаковое значение.

Возвращает false, если other не является num.

Обратите внимание, что поведение для NaN не рефлексивно. Это означает, что равенство значений чисел с плавающей точкой двойной точности не является правильным отношением равенства, как это требуется для operator==. Использование NaN, например, в HashSet не будет работать. Поведение соответствует стандартному IEEE-754 равенству чисел с плавающей точкой двойной точности.

Если вы можете избежать значений NaN, оставшиеся числа с плавающей точкой двойной точности имеют правильное отношение равенства и могут безопасно использоваться.

Используйте compareTo для сравнения, которое различает ноль и минус ноль и рассматривает значения NaN как равные.

Исходный код

bool operator ==(Object other);

© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-core/num/operator_equals.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API