Я читаю "Эффективная java" Джошуа Блоха и в Пункт 8: выполняйте общий контракт при переопределении равных, этот оператор написан
для полей float, используйте метод Float.compare; и для двойных полей используйте Double.compare. Производится специальная обработка плавающих и двойных полей необходимо из существования Float.NaN, -0.0f и аналогичного двойного постоянные;
Может кто-нибудь объяснить мне пример, почему мы не можем использовать ==
для float или двойного сравнения