Warum können wir nicht '==' verwenden, um zwei Gleitkomma- oder Doppelnummern zu vergleichen [duplizieren]

Diese Frage hat hier bereits eine Antwort:

Test für Gleitkomma-Gleichheit. (FE_FLOATING_POINT_EQUALITY) 3 AntwortenWarum gibt Double.NaN == Double.NaN false zurück? 9 answers

Ich lese Effective Java von Joshua Bloch und inArtikel 8: Befolgen Sie den allgemeinen Vertrag, wenn das Überschreiben gleich @ is, diese Aussage ist geschrieben

Verwenden Sie für Float-Felder die Methode Float.compare. Verwenden Sie für doppelte Felder Double.compare. Die spezielle Behandlung von Float- und Doppelfeldern wird durch die Existenz von Float.NaN, -0.0f und den analogen Doppelkonstanten notwendig;

Kann mir jemand mit einem Beispiel erklären, warum wir @ nicht verwenden könn== für Float oder Doppelvergleich

Antworten auf die Frage(3)

Ihre Antwort auf die Frage