Actually you have it backwards.
This is from the API:
Note that in most cases, for two instances of class Float, f1 and f2, the value of f1.equals(f2) is true if and only if
f1.floatValue() == f2.floatValue()
also has the value true. However, there are two exceptions:
1) If f1 and f2 both represent Float.NaN, then the equals method returns true, even though Float.NaN==Float.NaN has the value false.
2) If f1 represents +0.0f while f2 represents -0.0f, or vice versa, the equal
test has the value false, even though 0.0f==-0.0f has the value true.