My main goal was to provide a way where NaN is equal to NaN and I went with the behavior of the respective wrapper classes, Float and Double, which consider -0.0 and +0.0 as not equal. The static method could be called "exactlyEquals" if that is better.
It might also depend on the usecase whether you want -0.0 being equal to +0.0. Maybe an additional method would be required for the case you are describing, e.g. "valueEquals" (though that can be ambiguous). > Hans Boehm <hbo...@google.com> hat am 6. Januar 2019 um 19:40 geschrieben: > > > What's the motivation for making it easier to spell a comparison method that > tells me that -1.0*0.0 is not equal to 1.0*0.0? I would have thought that > making this somewhat hard to write is a feature? > > I agree that there are cases in which this method is useful. But they all > seem esoteric enough to me that it's not unreasonable for users to have > enough expertise to write the method. Or at least the method should have a > name that makes the unusual behavior explicit.