Deprecate Double.MIN_VALUE?
Éamonn McManus
emcmanus at google.com
Mon Dec 2 23:17:12 UTC 2024
At Google, we've had several issues over the years relating to
Double.MIN_VALUE. People have not unreasonably supposed that
Double.MIN_VALUE has the same relationship to Double.MAX_VALUE as
Integer.MIN_VALUE has to Integer.MAX_VALUE. So they think that
Double.MIN_VALUE is the (finite) negative number of largest magnitude,
rather than the positive number of smallest magnitude. We're currently
thinking of adding a constant MIN_POSITIVE_VALUE to Guava's Doubles
<https://guava.dev/releases/snapshot-jre/api/docs/com/google/common/primitives/Doubles.html>
class
and having static analysis that suggests using that instead of
Double.MIN_VALUE, if that is indeed what you meant, or of course using
-Double.MAX_VALUE if *that* is what you meant.
A few JDK and JavaFX bugs show that Google engineers are not the only ones
to be confused by this:
https://bugs.openjdk.org/browse/JDK-4218647
https://bugs.openjdk.org/browse/JDK-8092698
https://bugs.openjdk.org/browse/JDK-8156186
So we also wonder if it would make sense to deprecate Double.MIN_VALUE
itself and introduce Double.MIN_POSITIVE_VALUE with the same meaning.
Obviously the same thing would apply to Float.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/core-libs-dev/attachments/20241202/f72c900c/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5294 bytes
Desc: S/MIME Cryptographic Signature
URL: <https://mail.openjdk.org/pipermail/core-libs-dev/attachments/20241202/f72c900c/smime.p7s>
More information about the core-libs-dev
mailing list